sr!com.femlab.server.ModelFileHeaderD%LtagstLcom/femlab/util/FlStringList;Ltypesq~LvrsntLcom/femlab/util/FlVersion;xpwsrcom.femlab.util.FlVersion%/B = IbuildImajorLdatetLjava/lang/String;Lextq~Lnameq~Lrcsq~L reactionExtq~L reactionNameq~L scriptExtq~L scriptNameq~xpwtCOMSOL Script 1.1tat#COMSOL Reaction Engineering Lab 1.3tt COMSOL 3.3q~wt $Name: $t$Date: 2007/02/02 19:05:58 $xur[Ljava.lang.String;V{Gxp#t modelinfotxfemtguitfem0tg9tg10tg7tg11tg8tg12tg13tg14tg15tfem3tfem3.0q~q~tfem5tfem5.0q~q~tg9tg10tg7tg11tg8tg12tg13tg14tg15tg2tg1tg6tg5t mfileinfouq~#q~t femstructt guistructq~0tdrawq~2q~2q~2q~2q~2q~2q~2q~2tgeomtmeshtsolutiontxmeshq~3q~4q~5q~6tdrawq~7q~7q~7q~7q~7q~7q~7q~7q~7q~7q~7q~7q~.xsrcom.femlab.api.client.ModelInfo^%Ldescrq~LdocURLq~[imaget[Bxpwur[BTxp>3PNG  IHDRp IDATxE=37F!@;p;C98 .;lwܻ̎O?5=3ݿ~"RH"ɡ$t $D JI$(%DR JI$DRI$(%DR JI$DRI$(%D JI$(%DRI$(%D JI$(%DR JI$D JI$(%DR JI$DRI$(%]@}!$ԐJC9wD9݀;~[n嗇rٲe]ȁ ?,\u]#V2>(n~@%L@V[H4 d$9xPd9Pl@'ķx #LTGK@}3~?l6/I [^L{>m'q4 6sH8sϬԗeҤe<|$ t$Ҕdם<'\s/ի/bI=,a5k`8fYٔa s I_L앑Mє3Ća S n, PgyJ|܊fƐL" C>!֬ ecdւ,lF//tF/Xasm}s/쎀EUS]%$ ^ųQ8rb 5I>YEwD^Qm'f^)?}5·0aåxp J;D F5DKŤLS{UH%R)8cN͸ !Ht e/%}^0em%U,4 :3Lxo׃#\2CX(佗=@@@S16ֽl&Gӱt.nM6Kb ΰ`Ɉ1$#z1b#HER(", j {kUڅjtw4-%htB3a\"9OS?߳k"wS{$w7EdYhVʲX@ Uk&<3'E?D8TD %/u| !L^~T6M=ihc<.6JZc|kj$(fh;j \#yXn]A}y|Tf"?AY Y:_) )Fɣ ."׽^hCh׃ h=GFEw~]s'">iKI)BLGl]?`SڵO$uM}[$Rw@O.,˓K3{"zm4~Mb {]Dh h5eX..Q򀺖BYM}@m |JA{OZzGip._o*JVˏ|^cc8DYp܀bÅdi"}mEFW(l&5J#)4`M$BU.";L>LN!XS>wt'N:HhmYjHp(xn%n8jnްaCa$iIJ=:?&ZSzx&ST,hmX*BaZFE=po ֕9'ҼAp -JXFAGFUlFPq*g.TnQX6mJ]a"==TzJe4t0p*c`PpOpђ{^}?nAӃ۪l-%Mh᩻ȥ-x햅 #kPUO"xVC!=|>Q_atÑU{tpjJ׈M"'*%&r F΢M%@DalhI(Ybjcx >'|_|N*T=e+OüUɇ q?R9]8}4F)ך\ҩS/.؛nhQyU<+B sqc tTN&*\F-*,&*#}3 skU]Vo05}4Z.˕:sl~i0~譝ոm5̤luG'mv9M 4!ϫ?L.nU`T$E8>k_As~47p_^SnڴI\1Q!yxl|2Gd:R[UpJxrqՋ=͢g:iK:Rq"bFKiôFuv\]q, 1#g~*>:O{r©v͢% ¦qfެξ߽v?cɥ#go9S6Ӓ/&i 򨳛:ϣzʝ4d΂]eԗcv8w%)oƌX,;GQqJ>(ʅt%:"l$nܝ寺Yqy%%&fG Cɨ7Qo2ᰩ-Fr.R+}>s_*[]ֳqI[-Z1y0>'lr2B9|]4yh@V;AY5/yΩwn^qy=x'm C@<ާ `焈WhQۋ/2;1oIdm:ÇBӧ3rޠxyۛ*"i54jul_o||fJ/CuO}4U.̕ԎW z-# oyih'![M΄{%jbjxqe>o퍯ׯoK)Ȯ])d蜮>Gf ̝;w)g" w87 if#Z:5i3&v7<ܬ9qK {c>>UR:=z\?~Yx? /ᇶ-w% ^(P>G7qŸ}zʳOSkQ&p4cYx+^ݓv IMД A_ZGCʒ*H$:ow>c5%xK}pW?L芋7eey~ntͰjn,:U-/N/|dIG_KUŰo{8gH.}ۺ%n"|trSc%po_.&3y2޺SeG=Ŕy }c{*_) Xʝ /4G5z]<#j VᣨN-rD)NL$| ST=2-JyT$.0P0&#:,4nk\HP/yÒ}ZA;7 DVn.P12a_ahgLͧVZt7k=y?ο+3[qOlP"3a{gz"ϨlݼrLhD9osM CnlZwosG}味]\S8?l#oܥ#7>7#a `01 -/Kɰ"#&ڍ"m҇H5Y J rHG )ݡToh\dBY#1m 8M! u,S' 4@ۅ|CUTd FGC:**B ?U^AzJguisShq6{kV1q$by}xM/)rLTcCPFF"2k>@eXVcZ-dKyBj/j 2s8<4vȼ_%>]*^W W |:AdڋpGB͸pxvQê`]gCZݧj!ih{w']zVGYMql`:vO'녽ei|coYv]pGU+0Ug>3M|^~ LWzPw]0%v{V%[g2q|kɒԊp֬CY|aun4E&`sBGEXkбB@.IDATvy2gAl&?v0 e63F|q -&o!Da>/ޟ#=א%1%,$']cIfܱ±O[2ϐh^"pP SW/Lm~Kݑ贎o2=h%/ep6>1;[/+c/X\+:r&MZ㩭u^Ь p2&[4GeTRiΩoƵ9Wn +X_ub=1=~d  JhxuR\X\redn@x8+@ݛ)bO;aip QxX7Tnv{4˶|}[Ѐx_MLU8G®GU]~뫯WGloX|uu]-#! ki1"sM+Y)TWPtCzuov:Țe;N_VPQg]T}{#aθ]=*qdxݿiS[oC!ц3vZaU<ܭMr]ҥ>Sw}T}m\a_9m WrK'uX|JCH HgNd+e;?vӾ6`&gjd8]ӈ,QXu6O)ll CμW6-)T?ȐRmDu!TqQ 'LŢq=t(vF6f<Z51be(T=ؔrTS9 hѠeط=g4mzs5p%;rlWwsHSzkK Jc u(43~ߏDT6&+1g{xTx"NJ) L,ni֖5wb8\/L8`l8cYHC氋ݚ[4>LAF p#ݱ]s/7j%# Иl \ adNTwKU_ǃi䑏ۖ4s]0ނy-lJ.Rǻc*Ll@&ş "HN-jEV۱߾-G͂"J/8w{{],K ohfh7ɖUN&lz?f??due'zkG@uYcq7?= svxӜz^;SP;љ[{a'N/ԃݏr~mg@'H) |ch}%v$Mh/# J=m5eÏnEّNETgA:1MтqgZХȪIߖ# kr2p^)hDv[[U #^Ƣmj>ܱ0rcw҆ݹ2t /PK; 8qܨ'Rڏ+qϮH%T"yۛ\3_4aՄBD[nFFdZ2y>UJޝ3R7A}n?{ge=wEgoΑӟ<哉C{ж[*cr#! D-D"( lo)|#O]ޝܐuWOŴU5tE[\*+;٫>V~S|>+ rD|b'HB#Xc ظ!G/6;2pQʄ^3˭&.R[vF]/IZ^adtwva]y׬l S(:mq:}wh'=dMC7wj[tdY7 qLv]Gsl;+-O|aI|0lOjBQM۶O.aGڨϊ7ޞv;6Jjd@f3 g5}E!%Hfꈏk:KNZ<0aByy!Fj\6lG-b60Ba<%T8KBԡu]2Zoc 2㧶lW666"vCVky #w  5?1HX*FmŬF 6_E8E $ȸU 4P6% P(~ ջ92 Z8 0'E }^yu8 gyה[lEk {QstbJ*fbTva5LkXӟѹJ+CaL. OFmD ^w\fOЮQ8Q?|G#_ْ2A%܃x"1τJ{/5Q܆naS/td 7Rw[wM׳ ygN/~u\m&ÅIi v< h4j^_IKD64I_7˗_ᵠ qkvX{Y;mFXJ({! *^7|RY}8o3ZFk2lUqhTkxe?Ou.IkUw tcM)4o裫5O/hEШJfE,Wx\]Ѫ;`tec-lZ<1 MP IghFe(KinFqX:X)]Yf`J#e?0Z'm&j7W7W|P<0SKSQ淸|:oPΰ4jw*ƭ9LEʡu?uG>tÖr8\|̚L,f|مy5Z5෋f``F 펚N G̈8K0#8Uoƒ{D]昣 rT;:W4ZXm-GaŽZOӊV+'vٵiNuK;}!ʒeyɃ)V*P@..*ՂO듍m'h?M8 3F\UƬɖeû ՝0]&ťGipXQwk?S'Rv'v[06I[܋Ty̳zkNj:DNݰwHD)gJ[0u !6H/kk/P-n#lfUJvaˑygo婛D *PKV~:Q8h Dt=N"G0Kv#VǮT"XnEIu{n$(֭mwoW}!*|T/$,u8-Vw+|)2TV ThgSy>G$\l)qeMF*@5w@n؟%B߸7(.ڞu8DŽY\>n휰I9,_,{%(E(c4 Mh=X B]x2G|o#=`J, cdBZF:X3|{AԐeQ|d97û=pVo6T = {,ܾoطFDj}K@2~HGEOXxݘ>&e9XiâNW+W՟),QAqf{B"D7I)êM($>/Zn} >T\D.x_ߛLTLMG/eioM[W*7fZAַO‚>$ Uԇ.3 7,8f vK )d=:@-E 9 1w|\p=帮1veoՔDFAII#M C$c`QXԄcƪ%6qdQxG1N3~%(O+7 C8K4(ʦNny˰p^.lvb>tATuuTv亝7F:1iI4dujS"X}O%lQG${qJK3$r(ʁEtyNwe!6wcG;XN3L|9\f >23s[)36 ^rHwS;1لT 0Aܯp&<3[Kǥƥ_ ,5s˗_|0loloB &iėL4hWcaj*,b^Y BrpL}r6|NL8' =6ӉD .Bk#4HNkKOh^MҵMS'?H)O3E$~O$WHd%g#oGK NáOez\[}G7RxR>':hJDJP|#E,J7./zDąnb 3b"XD|#$(ȁ$A%d`Ǒ܂GHZqh >(M$7%z1!.ra2_[y~@e"S<uuIrҔqid'qe/矟%IT(ؼYՔDaޟH篌H+/%K.J}љ^;9ʼ&PT+V\HŜ_^1[q㋓/xCo{Ars/ȴi M;o# ߃-dJU_xב _W>>Ơ>Ơ>#3>>>#3>Ơ>???? BezierCurveƠ>>>?Ơ>Ơ>? BezierCurveƠ>>>?#3>>>? BezierCurveƠ>Ơ>?#3>Ơ>? BezierCurve#3>>>?#3>Ơ>? AssocAttrib VectorIntN xwxsq~Cwq~wuq~;Geom2|=-C6?Ơ>ƠƠ>>|sӲ>Ơ|sӲ>>???? BezierCurveƠ>Ơ?Ơ>>? BezierCurveƠ>Ơ?|sӲ>Ơ? BezierCurveƠ>>?|sӲ>>? BezierCurve|sӲ>Ơ?|sӲ>>? AssocAttrib VectorIntN xwxsq~Cwq~wuq~;Geom2|=-C6?:0yU>>>:0yU>Ơ>Ơ>>>Ơ>Ơ>???? BezierCurve:0yU>>>?:0yU>Ơ>? BezierCurve:0yU>>>?Ơ>>>? BezierCurve:0yU>Ơ>?Ơ>Ơ>? BezierCurveƠ>>>?Ơ>Ơ>? AssocAttrib VectorIntN xwxsq~Cwq~wuq~;Geom2|=-C6?#3>>>#3>Ơ>H׺>>>H׺>Ơ>???? BezierCurve#3>>>?#3>Ơ>? BezierCurve#3>>>?H׺>>>? BezierCurve#3>Ơ>?H׺>Ơ>? BezierCurveH׺>>>?H׺>Ơ>? AssocAttrib VectorIntN xwxsq~Cwq~wuq~;Geom2|=-C6?:0yU>Ơ:0yU>>Ơ>ƠƠ>>???? BezierCurve:0yU>Ơ?:0yU>>? BezierCurve:0yU>Ơ?Ơ>Ơ? BezierCurve:0yU>>?Ơ>>? BezierCurveƠ>Ơ?Ơ>>? AssocAttrib VectorIntN xwxsq~Cwq~wuq~;Geom2|=-C6?#3>>>|sӲ>>H׺>>H׺>>>???? BezierCurve#3>>>?|sӲ>>? BezierCurve#3>>>?H׺>>>? BezierCurve|sӲ>>?H׺>>? BezierCurveH׺>>?H׺>>>? AssocAttrib VectorIntN xwxsq~Cwq~wuq~;Geom2|=-C6?|sӲ>Ơ|sӲ>>H׺>ƠH׺>>???? BezierCurve|sӲ>Ơ?|sӲ>>? BezierCurve|sӲ>Ơ?H׺>Ơ? BezierCurve|sӲ>>?H׺>>? BezierCurveH׺>Ơ?H׺>>? AssocAttrib VectorIntN xwxsq~Cwq~wuq~;Geom2|=-C6?:0yU>>:0yU>>>Ơ>>Ơ>>>???? BezierCurve:0yU>>?:0yU>>>? BezierCurve:0yU>>?Ơ>>? BezierCurve:0yU>>>?Ơ>>>? BezierCurveƠ>>?Ơ>>>? AssocAttrib VectorIntN xwxsq~Cwq~wuq~;Geom2|=-C6?Ơ>>Ơ>>>#3>>>|sӲ>>???? BezierCurveƠ>>?Ơ>>>? BezierCurveƠ>>?|sӲ>>? BezierCurveƠ>>>?#3>>>? BezierCurve#3>>>?|sӲ>>? AssocAttrib VectorIntN xwxsq~Cwq~w8uq~;8Geom2|=-C6?:0yU>Ơ:0yU>>:0yU>>>:0yU>Ơ>Ơ>ƠƠ>>Ơ>>>Ơ>Ơ>#3>>>#3>Ơ>|sӲ>Ơ|sӲ>>H׺>ƠH׺>>H׺>>>H׺>Ơ>???????? ? ?  ? ?  ?  ? ? ? ? ? ?  ?  ?  ? ?? BezierCurve:0yU>Ơ?:0yU>>? BezierCurve:0yU>Ơ?Ơ>Ơ? BezierCurve:0yU>>?:0yU>>>? BezierCurve:0yU>>?Ơ>>? BezierCurve:0yU>>>?:0yU>Ơ>? BezierCurve:0yU>>>?Ơ>>>? BezierCurve:0yU>Ơ>?Ơ>Ơ>? BezierCurveƠ>Ơ?Ơ>>? BezierCurveƠ>Ơ?|sӲ>Ơ? BezierCurveƠ>>?Ơ>>>? BezierCurveƠ>>?|sӲ>>? BezierCurveƠ>>>?Ơ>Ơ>? BezierCurveƠ>>>?#3>>>? BezierCurveƠ>Ơ>?#3>Ơ>? BezierCurve#3>>>?#3>Ơ>? BezierCurve#3>>>?|sӲ>>? BezierCurve#3>>>?H׺>>>? BezierCurve#3>Ơ>?H׺>Ơ>? BezierCurve|sӲ>Ơ?|sӲ>>? BezierCurve|sӲ>Ơ?H׺>Ơ? BezierCurve|sӲ>>?H׺>>? BezierCurveH׺>Ơ?H׺>>? BezierCurveH׺>>?H׺>>>? BezierCurveH׺>>>?H׺>Ơ>?xwxsrcom.femlab.mesh.Mesh_q Lversionq~xpwq~w܄uq~;Mesh :0yU>Ơ:0yU>>:0yU>>>:0yU>Ơ>Ơ>ƠƠ>>Ơ>>>Ơ>Ơ>#3>>>#3>Ơ>|sӲ>Ơ|sӲ>>H׺>ƠH׺>>H׺>>>H׺>Ơ>:0yU>M㟾:0yU> R 8:0yU>\:0yU>&ɬf㚾:0yU>z8:0yU>+@MS":0yU>{+㕾:0yU>18:0yU>=;:0yU>6.㐾:0yU>pӼq:0yU>tJ]ʪ:0yU>yzfLJ:0yU>~8+"rD@r>ƠdƔu#>ƠqA>ƠkSCt>Ơqr>Ơ.NSf>Ơk֎>ƠJ]ʪ>ƠMU>Ơ90yU>=Y~:0yU>ba{90yU>;)6w:0yU>zl~; t:0yU>>q:0yU>bak:0yU>rl~; d:0yU>ba[:0yU>baK:0yU>`;:0yU>LbaK>:0yU>&ba[>:0yU>l~; d>:0yU>bak>:0yU>ʯ>q>:0yU>l~; t>:0yU>L)6w>:0yU> ba{>:0yU>̢=Y~>D@r>>dƔu#>>qA>>kSCt>>qr>>.NSf>>k֎>>J]ʪ>>MU>>:0yU>8+"r>:0yU>zfLJ>:0yU>J]ʪ>:0yU>Ӽq>:0yU>H.>:0yU>=;>:0yU>?8>:0yU>{+>:0yU>6@MS">:0yU>z8>:0yU>,ɬf>:0yU>\>:0yU>#R 8>:0yU>M>D@r>>>dƔu#>>>qA>>>kSCt>>>qr>>>.NSf>>>k֎>>>J]ʪ>>>MU>>>D@r>Ơ>dƔu#>Ơ>qA>Ơ>kSCt>Ơ>qr>Ơ>.NSf>Ơ>k֎>Ơ>J]ʪ>Ơ>MU>Ơ>Ơ>M㟾Ơ> R 8Ơ>\Ơ>&ɬf㚾Ơ>z8Ơ>+@MS"Ơ>{+㕾Ơ>18Ơ>=;Ơ>6.㐾Ơ>pӼqƠ>tJ]ʪƠ>yzfLJƠ>~8+"rW@Vy>Ơ!{ E+>ƠAVkݢ>Ơv>Ơk,A>ƠI>Ơ]>Ơ# M-X>ƠT >Ơr!z>ƠƠ?7# >Ơҩ>ƠL>ƠdC<7>Ơ/Zbb>Ơ >ƠwdM>Ơ>ƠZu>Ơ$<$d>ƠxQ% >Ơ8d>ƠCHRL>Ơ_>Ơgso>Ơsr,cȱ>Ơ!>Ơ>9z>ƠƠ>=Y~Ơ>ba{Ơ>;)6wƠ>zl~; tƠ>>qƠ>bakƠ>rl~; dƠ>ba[Ơ>baKƠ>`;Ơ>LbaK>Ơ>&ba[>Ơ>l~; d>Ơ>bak>Ơ>ʯ>q>Ơ>l~; t>Ơ>L)6w>Ơ> ba{>Ơ>̢=Y~>W@Vy>>!{ E+>>AVkݢ>>v>>k,A>>I>>]>># M-X>>T >>r!z>>>?7# >>ҩ>>L>>dC<7>>/Zbb>> >>wdM>>>>Zu>>$<$d>>xQ% >>8d>>CHRL>>_>>gso>>sr,cȱ>>!>>>9z>>Ơ>8+"r>Ơ>zfLJ>Ơ>J]ʪ>Ơ>Ӽq>Ơ>H.>Ơ>=;>Ơ>?8>Ơ>{+>Ơ>6@MS">Ơ>z8>Ơ>,ɬf>Ơ>\>Ơ>#R 8>Ơ>M>mɁU>>> & >>> r>>>R&C >>>4Nl>>>B4>>>P>>>_vH;>>>Fm.ɥ>>>v{7]X>>>`>>>ٗVqu>>> >>>:څ>>>k~!>>>6,>>>T$>>>>}̪>>>.^8[>>>_ >>>Lx>>>% >>>3?Ia>>>!Bq#>>>RPu>>>^g@>>>lϯ>>>rk />>>Ov>>>mɁU>Ơ> & >Ơ> r>Ơ>R&C >Ơ>4Nl>Ơ>B4>Ơ>P>Ơ>_vH;>Ơ>Fm.ɥ>Ơ>v{7]X>Ơ>`>Ơ>ٗVqu>Ơ> >Ơ>:څ>Ơ>k~!>Ơ>6,>Ơ>T$>>Ơ>}̪>Ơ>.^8[>Ơ>_ >Ơ>Lx>Ơ>% >Ơ>3?Ia>Ơ>!Bq#>Ơ>RPu>Ơ>^g@>Ơ>lϯ>Ơ>rk />Ơ>Ov>Ơ>#3>8+"r>#3>zfLJ>#3>J]ʪ>#3>Ӽq>#3>H.>#3>=;>#3>?8>#3>{+>#3>6@MS">#3>z8>#3>,ɬf>#3>\>#3>#R 8>#3>M>Iذ>=Y~>_>ba{>o >4)6w>ni(>rl~; t>9CC>>q>T ج]>bak>vx>\l~; d>:?>ba[>)>\baK>!4PSȱ>v>_>baKI&>Xba[zS*>l~; d]3>/bak`hfc5N>د>qrh>l~; tF}6>X)6w@U>ba{- >٢=Y~fsDM>>>_ܱ>>>>l>>>7bS>>>ѱ>>>l>>>Qc>>>};>>>x=fʵ>>>W?PsZ>>>6s9#>>>"y>>>. >>>C~2>>>(>>>yȒ>>>pmBH>>>fsDM>Ơ>_ܱ>Ơ>>l>Ơ>7bS>Ơ>ѱ>Ơ>l>Ơ>Qc>Ơ>};>Ơ>x=fʵ>Ơ>W?PsZ>Ơ>6s9#>Ơ>"y>Ơ>. >Ơ>C~2>Ơ>(>Ơ>yȒ>Ơ>pmBH>Ơ>|sӲ>M㟾|sӲ> R 8|sӲ>\|sӲ>&ɬf㚾|sӲ>z8|sӲ>+@MS"|sӲ>{+㕾|sӲ>18|sӲ>=;|sӲ>6.㐾|sӲ>pӼq|sӲ>tJ]ʪ|sӲ>yzfLJ|sӲ>~8+"rTHƠ Ʒ>Ơ\)>ƠtK˛>Ơ(a >Ơݢ<+>ƠN>ƠHѽc>Ơն>ƠQgPG>Ơf߹>Ơ+>ƠTG䝸>Ơu>Ơ;>ꁹ>ƠW'>Ơre>ƠTH> Ʒ>>\)>>tK˛>>(a >>ݢ<+>>N>>Hѽc>>ն>>QgPG>>f߹>>+>>TG䝸>>u>>;>ꁹ>>W'>>re>>H׺>M㟾H׺> R 8H׺>\H׺>&ɬf㚾H׺>z8H׺>+@MS"H׺>{+㕾H׺>18H׺>=;H׺>6.㐾H׺>pӼqH׺>tJ]ʪH׺>yzfLJH׺>~8+"rH׺>=Y~H׺>ba{H׺>;)6wG׺>zl~; tG׺>>qG׺>bakG׺>rl~; dH׺>ba[H׺>baKH׺>`;H׺>LbaK>H׺>&ba[>H׺>l~; d>H׺>bak>H׺>ʯ>q>H׺>l~; t>H׺>L)6w>H׺> ba{>H׺>̢=Y~>I׺>8+"r>H׺>zfLJ>H׺>J]ʪ>H׺>Ӽq>H׺>H.>H׺>=;>H׺>?8>H׺>{+>H׺>6@MS">H׺>z8>H׺>,ɬf>H׺>\>H׺>#R 8>H׺>M>D@r>M㟾D@r>!R 8D@r>\D@r>&ɬf㚾D@r>z8D@r>-@MS"D@r>{+㕾D@r>28D@r>=;D@r>6.㐾D@r>pӼqD@r>uJ]ʪD@r>zzfLJD@r>8+"rdƔu#>M㟾dƔu#>!R 8dƔu#>\dƔu#>(ɬf㚾dƔu#>z8dƔu#>-@MS"dƔu#>{+㕾dƔu#>08dƔu#>=;dƔu#>7.㐾dƔu#>rӼqdƔu#>uJ]ʪdƔu#>zzfLJdƔu#>}8+"rqA>M㟾qA>"R 8qA>\qA>&ɬf㚾qA>z8qA>+@MS"qA>{+㕾qA>08qA>=;qA>5.㐾qA>nӼqqA>sJ]ʪqA>zzfLJqA>~8+"rjSCt>M㟾jSCt>!R 8mSCt>\jSCt>&ɬf㚾mSCt>z8mSCt>-@MS"hSCt>{+㕾kSCt>08kSCt>=;kSCt>8.㐾kSCt>nӼqkSCt>rJ]ʪjSCt>yzfLJkSCt>~8+"rqr>M㟾qr>!R 8qr>\qr>(ɬf㚾qr>z8qr>+@MS"qr>{+㕾qr>08qr>=;qr>6.㐾qr>pӼqqr>uJ]ʪqr>xzfLJqr>8+"r.NSf>M㟾-NSf>!R 8-NSf>\.NSf>&ɬf㚾.NSf>z8.NSf>+@MS".NSf>{+㕾-NSf>28.NSf>=;.NSf>5.㐾-NSf>pӼq.NSf>rJ]ʪ-NSf>xzfLJ-NSf>8+"ri֎>M㟾j֎>!R 8j֎>\l֎>$ɬf㚾k֎>z8j֎>,@MS"k֎>{+㕾j֎>08k֎>=;j֎>5.㐾j֎>pӼql֎>uJ]ʪj֎>yzfLJk֎>~8+"rJ]ʪ>M㟾J]ʪ>!R 8J]ʪ>\J]ʪ>(ɬf㚾J]ʪ>z8J]ʪ>+@MS"J]ʪ>{+㕾J]ʪ>08J]ʪ>=;J]ʪ>6.㐾J]ʪ>nӼqJ]ʪ>uJ]ʪJ]ʪ>yzfLJJ]ʪ>8+"rMU>M㟾MU>!R 8MU>\MU>(ɬf㚾MU>z8MU>+@MS"MU>{+㕾MU>08MU>=;MU>6.㐾MU>nӼqMU>uJ]ʪMU>yzfLJMU>8+"rC@r>=Y~D@r>ba{C@r>:)6wD@r>yl~; tC@r>>qD@r>bakD@r>pl~; dD@r>ba[D@r>baKD@r>`;D@r>MbaK>D@r>,ba[>D@r>l~; d>D@r>bak>D@r>˯>q>D@r>l~; t>D@r>N)6w>D@r>ba{>D@r>Т=Y~>dƔu#>=Y~dƔu#>ba{dƔu#><)6wdƔu#>{l~; tdƔu#>>qdƔu#>bakdƔu#>ql~; ddƔu#>ba[dƔu#>baKdƔu#>`;dƔu#>JbaK>dƔu#>%ba[>dƔu#>l~; d>dƔu#>bak>dƔu#>˯>q>dƔu#>l~; t>dƔu#>L)6w>dƔu#> ba{>dƔu#>΢=Y~>qA>=Y~qA>ba{qA>;)6wqA>{l~; tqA>>qqA>bakqA>tl~; dqA>ba[qA>baKqA> 5TրR^;qA>JbaK>qA>(ba[>qA>l~; d>qA>bak>qA>ɯ>q>qA>l~; t>qA>N)6w>qA> ba{>qA>Т=Y~>kSCt>=Y~jSCt>ba{mSCt>=)6wkSCt>zl~; tkSCt>>qkSCt>bakkSCt>ql~; dkSCt>ba[kSCt>baKkSCt> 5TրR^;kSCt>GbaK>kSCt>'ba[>kSCt>l~; d>kSCt>bak>kSCt>ɯ>q>kSCt>l~; t>mSCt>N)6w>kSCt>ba{>kSCt>΢=Y~>qr>=Y~qr>ba{qr><)6wqr>zl~; tqr>>qqr>bakqr>pl~; dqr>ba[qr>baKqr>`;qr>JbaK>qr>*ba[>qr>l~; d>qr>bak>qr>ɯ>q>qr>l~; t>qr>N)6w>qr>ba{>qr>͢=Y~>-NSf>=Y~-NSf>ba{.NSf>=)6w-NSf>yl~; t-NSf>>q.NSf>bak-NSf>rl~; d-NSf>ba[-NSf>baK-NSf>`;-NSf>GbaK>-NSf>%ba[>-NSf>l~; d>.NSf>bak>-NSf>ȯ>q>-NSf>l~; t>.NSf>M)6w>-NSf> ba{>-NSf>͢=Y~>j֎>=Y~k֎>ba{l֎><)6wj֎>yl~; tj֎>>qi֎>bakk֎>ql~; dj֎>ba[j֎>baKj֎>*k@)_;j֎>LbaK>k֎>(ba[>k֎>l~; d>k֎>bak>j֎>˯>q>j֎>l~; t>l֎>M)6w>l֎>ba{>j֎>ˢ=Y~>J]ʪ>=Y~J]ʪ>ba{J]ʪ><)6wJ]ʪ>{l~; tJ]ʪ>>qJ]ʪ>bakJ]ʪ>ql~; dJ]ʪ>ba[J]ʪ>baKJ]ʪ>j_k`;J]ʪ>JbaK>J]ʪ>*ba[>J]ʪ>l~; d>J]ʪ>bak>J]ʪ>ʯ>q>J]ʪ>l~; t>J]ʪ>M)6w>J]ʪ> ba{>J]ʪ>Т=Y~>MU>=Y~MU>ba{MU><)6wMU>zl~; tMU>>qMU>bakMU>ql~; dMU>ba[MU>baKMU>B 5_;MU>HbaK>MU>(ba[>MU>l~; d>MU>bak>MU>ʯ>q>MU>l~; t>MU>L)6w>MU> ba{>MU>ˢ=Y~>D@r>8+"r>D@r>zfLJ>D@r>J]ʪ>D@r>Ӽq>D@r>G.>D@r>=;>D@r>?8>D@r>{+>D@r>6@MS">D@r>z8>D@r>-ɬf>D@r>\>D@r>R 8>D@r>M>dƔu#>8+"r>dƔu#>zfLJ>dƔu#>J]ʪ>dƔu#>Ӽq>dƔu#>J.>dƔu#>=;>dƔu#>@8>dƔu#>{+>dƔu#>6@MS">dƔu#>z8>dƔu#>-ɬf>dƔu#>\>dƔu#>"R 8>dƔu#>M>qA>8+"r>qA>zfLJ>qA>J]ʪ>qA>Ӽq>qA>J.>qA>=;>qA>@8>qA>{+>qA>8@MS">qA>z8>qA>+ɬf>qA>\>qA>"R 8>qA>M>jSCt>8+"r>mSCt>zfLJ>kSCt>J]ʪ>kSCt>Ӽq>kSCt>I.>mSCt>=;>kSCt>?8>kSCt>{+>kSCt>9@MS">kSCt>z8>kSCt>.ɬf>kSCt>\>kSCt>"R 8>kSCt>M>qr>8+"r>qr>zfLJ>qr>J]ʪ>qr>Ӽq>qr>G.>qr>=;>qr>?8>qr>{+>qr>5@MS">qr>z8>qr>-ɬf>qr>\>qr>"R 8>qr>M>.NSf>8+"r>0NSf>zfLJ>.NSf>J]ʪ>.NSf>Ӽq>-NSf>G.>-NSf>=;>.NSf>@8>.NSf>{+>.NSf>7@MS">-NSf>z8>.NSf>-ɬf>.NSf>\>-NSf>"R 8>.NSf>M>j֎>8+"r>l֎>zfLJ>k֎>J]ʪ>j֎>Ӽq>k֎>G.>l֎>=;>j֎>?8>j֎>{+>k֎>9@MS">j֎>z8>j֎>.ɬf>k֎>\>j֎>!R 8>j֎>M>J]ʪ>8+"r>J]ʪ>zfLJ>J]ʪ>J]ʪ>J]ʪ>Ӽq>J]ʪ>G.>J]ʪ>=;>J]ʪ>?8>J]ʪ>{+>J]ʪ>6@MS">J]ʪ>z8>J]ʪ>-ɬf>J]ʪ>\>J]ʪ>"R 8>J]ʪ>M>MU>8+"r>MU>zfLJ>MU>J]ʪ>MU>Ӽq>MU>G.>MU>=;>MU>?8>MU>{+>MU>6@MS">MU>z8>MU>-ɬf>MU>\>MU>$R 8>MU>M>V@Vy>M㟾V@Vy>R 8V@Vy>\V@Vy>$ɬf㚾V@Vy>z8V@Vy>,@MS"V@Vy>{+㕾V@Vy>28V@Vy>=;V@Vy>6.㐾V@Vy>pӼqV@Vy>uJ]ʪV@Vy>yzfLJV@Vy>8+"r!{ E+>M㟾!{ E+>$R 8 { E+>\!{ E+>)ɬf㚾{ E+>z8!{ E+>+@MS"{ E+>{+㕾"{ E+>28 { E+>=; { E+>8.㐾 { E+>sӼq { E+>uJ]ʪ { E+>zzfLJ!{ E+>8+"rAVkݢ>M㟾AVkݢ>!R 8AVkݢ>\AVkݢ>)ɬf㚾AVkݢ>z8AVkݢ>+@MS"AVkݢ>{+㕾AVkݢ>/8AVkݢ>=;AVkݢ>4.㐾AVkݢ>mӼqAVkݢ>uJ]ʪAVkݢ>yzfLJAVkݢ>~8+"rv>M㟾v>R 8v>\v>$ɬf㚾v>z8v>-@MS"v>{+㕾v>08v>=;v>6.㐾v>pӼqv>rJ]ʪv>yzfLJv>~8+"r}k,A>M㟾~k,A>!R 8k,A>\k,A>)ɬf㚾~k,A>z8~k,A>+@MS"k,A>{+㕾~k,A>08}k,A>=;}k,A>5.㐾}k,A>rӼq~k,A>uJ]ʪk,A>yzfLJk,A>}8+"rI>M㟾I>!R 8H>\I>$ɬf㚾I>z8I>+@MS"I>{+㕾I>28I>=;I>5.㐾I>nӼqH>rJ]ʪI>wzfLJH>8+"r]>M㟾]>"R 8]>\]>)ɬf㚾]>z8]>+@MS"]>{+㕾]>/8]>=;]>6.㐾]>rӼq]>rJ]ʪ]>yzfLJ]>}8+"r# M-X>M㟾# M-X>!R 8# M-X>\# M-X>$ɬf㚾# M-X>z8# M-X>*@MS"# M-X>{+㕾# M-X>28# M-X>=;# M-X>5.㐾# M-X>mӼq# M-X>rJ]ʪ# M-X>wzfLJ# M-X>~8+"rT >M㟾T >!R 8T >\T >&ɬf㚾T >z8T >-@MS"T >{+㕾T >18T >=;T >8.㐾T >sӼqT >uJ]ʪT >{zfLJT >}8+"rs!z>M㟾s!z>!R 8r!z>\s!z>(ɬf㚾s!z>z8s!z>-@MS"r!z>{+㕾s!z>/8s!z>=;s!z>5.㐾r!z>pӼqs!z>uJ]ʪs!z>yzfLJq!z>8+"r=xmn>M㟾=xmn>"R 8;xmn>\;xmn>(ɬf㚾=xmn>z8;xmn>+@MS"{+㕾28=;;xmn>7.㐾pӼquJ]ʪ{zfLJ8+"r?7# >M㟾?7# >"R 8?7# >\?7# >$ɬf㚾?7# >z8?7# >-@MS"?7# >{+㕾?7# >/8?7# >=;?7# >6.㐾?7# >pӼq?7# >rJ]ʪ?7# >{zfLJ?7# >8+"rҩ>M㟾ҩ>!R 8ҩ>\ҩ>(ɬf㚾ҩ>z8ҩ>+@MS"ҩ>{+㕾ҩ>/8ҩ>=;ҩ>6.㐾ҩ>nӼqҩ>uJ]ʪҩ>yzfLJҩ>|8+"rL>M㟾L>"R 8L>\L>&ɬf㚾L>z8L>+@MS"L>{+㕾L>08L>=;L>6.㐾L>pӼqL>rJ]ʪL>yzfLJL>}8+"rdC<7>M㟾dC<7>!R 8dC<7>\dC<7>$ɬf㚾dC<7>z8dC<7>,@MS"dC<7>{+㕾dC<7>/8dC<7>=;dC<7>5.㐾dC<7>nӼqdC<7>uJ]ʪdC<7>zzfLJdC<7>~8+"r/Zbb>M㟾/Zbb>!R 8-Zbb>\-Zbb>)ɬf㚾/Zbb>z8/Zbb>-@MS"/Zbb>{+㕾/Zbb>08/Zbb>=;/Zbb>5.㐾-Zbb>rӼq/Zbb>uJ]ʪ/Zbb>yzfLJ/Zbb>~8+"r >M㟾 >!R 8 >\ >)ɬf㚾 >z8 >+@MS" >{+㕾 >28 >=; >6.㐾 >pӼq >rJ]ʪ >zzfLJ >8+"rwdM>M㟾wdM>!R 8wdM>\wdM>(ɬf㚾wdM>z8wdM>-@MS"wdM>{+㕾wdM>08wdM>=;wdM>6.㐾wdM>pӼqwdM>uJ]ʪwdM>yzfLJwdM>}8+"r>M㟾>!R 8>\>(ɬf㚾>z8>+@MS">{+㕾>18>=;>6.㐾>pӼq>rJ]ʪ>zzfLJ>8+"rXu>M㟾Zu>!R 8Xu>\Xu>(ɬf㚾Zu>z8Zu>*@MS"Xu>{+㕾Zu>08Zu>=;Zu>5.㐾Xu>pӼqZu>uJ]ʪXu>yzfLJZu>8+"r$<$d>M㟾$<$d>!R 8&<$d>\"<$d>)ɬf㚾&<$d>z8$<$d>+@MS"$<$d>{+㕾$<$d>/8$<$d>=;"<$d>6.㐾"<$d>pӼq$<$d>uJ]ʪ$<$d>wzfLJ"<$d>8+"rxQ% >M㟾xQ% >!R 8wQ% >\wQ% >(ɬf㚾yQ% >z8xQ% >*@MS"xQ% >{+㕾wQ% >/8xQ% >=;xQ% >6.㐾xQ% >pӼqxQ% >uJ]ʪxQ% >yzfLJxQ% >8+"r8d>M㟾8d>!R 88d>\8d>)ɬf㚾8d>z88d>-@MS"8d>{+㕾8d>/88d>=;8d>5.㐾8d>pӼq8d>uJ]ʪ8d>yzfLJ8d>}8+"rBHRL>M㟾DHRL>!R 8BHRL>\BHRL>$ɬf㚾BHRL>z8BHRL>,@MS"BHRL>{+㕾BHRL>08BHRL>=;BHRL>5.㐾BHRL>pӼqBHRL>rJ]ʪBHRL>{zfLJBHRL>}8+"r_>M㟾_>!R 8_>\_>)ɬf㚾_>z8_>*@MS"_>{+㕾_>08_>=;_>6.㐾_>rӼq_>uJ]ʪ_>yzfLJ_>8+"rgso>M㟾gso>"R 8gso>\gso>$ɬf㚾gso>z8gso>*@MS"gso>{+㕾gso>08gso>=;gso>6.㐾gso>pӼqgso>sJ]ʪgso>yzfLJgso>8+"rtr,cȱ>M㟾tr,cȱ>"R 8sr,cȱ>\tr,cȱ>)ɬf㚾sr,cȱ>z8tr,cȱ>*@MS"qr,cȱ>{+㕾tr,cȱ>/8tr,cȱ>=;tr,cȱ>6.㐾tr,cȱ>pӼqtr,cȱ>uJ]ʪtr,cȱ>yzfLJtr,cȱ>8+"r!>M㟾!>!R 8!>\!>$ɬf㚾!>z8!>+@MS"!>{+㕾!>08!>=;!>6.㐾!>pӼq!>rJ]ʪ!>yzfLJ!>8+"r>9z>M㟾=9z>!R 8=9z>\>9z>)ɬf㚾>9z>z8=9z>*@MS">9z>{+㕾>9z>/8>9z>=;=9z>6.㐾=9z>pӼq>9z>uJ]ʪ=9z>zzfLJ>9z>8+"r`>ڢ=Y~o!+(>ڢ=Y~ iQ|>բ=Y~wFMX>Ң=Y~I>Ӣ=Y~?d>Ң=Y~O>Ӣ=Y~I!>Ӣ=Y~-n$>>Т=Y~żBa>΢=Y~Laޭ>͢=Y~:S->ˢ=Y~xjD}>͢=Y~̫>͢=Y~9چ>ɢ=Y~1'l>Ƣ=Y~nɻ>Ƣ=Y~65j >Ƣ=Y~kS [>Ȣ=Y~&Uq>Ȣ=Y~dM>Ƣ=Y~sQI>â=Y~̏>=Y~0>â=Y~Z!7 8>=Y~'s>=Y~?Eآ>=Y~d'>=Y~Q^iVw>=Y~^zR G>ba{md>ba{_v s>ba{HR'A>ba{D>ba{7v>ba{,*D;>ba{9ǯ>ba{[>ba{$j>ba{j ->ba{/ > ba{S^>ba{;w~h>ba{~p> ba{cb:S>ba{ IT>ba{Q.G >ba{+9uG> ba{N+ޘ> ba{ rG>ba{cÖ;>ba{>ba{ޤ>ba{3s/>ba{yX&S>ba{=JʼҢ>ba{#n%$>ba{Ju>ba{8->U)6wֱ>T)6w=V_i>T)6w*>U)6w%Ӱ>T)6w//2}>R)6w̑&>P)6wƠ>P)6wBc>O)6wK)(G>N)6wچX>M)6w' >L)6wt{@>L)6w8A듫>I)6wt>J)6wYL:>I)6w}>H)6w%X>H)6w?a3>F)6w>D)6w@ڦ>C)6w'pq->B)6wuN6>C)6wӤ>@)6w '>A)6wYɈ4z>>)6w;Ne͢>>)6wv >;)6w@s>9)6wg>l~; t,f㽱>l~; tL_h>l~; t>l~; t)ޒMX>l~; t&|g>l~; t~oeP>l~; tNphy>l~; tpή>l~; tB#>l~; tM$6x>l~; t|ͬ>l~; tFiu">l~; tH،nw>l~; ti_f̪>l~; t17_!>l~; tBWv>l~; tjP˨>l~; t뮩I >l~; t>@|Au>l~; tN8:ʦ>l~; tb!2>l~; t>k+t>l~; t$ɤ>~l~; t>l~; t:k9s>l~; t9> Ȣ>~l~; tm>}l~; t:\q>{l~; t\;>د>qO>د>qmCVP>ׯ>q7>>կ>q*u>ԯ>qvdvR>ү>qG$rƭ>ү>q 4nR>Я>qš.>ί>qYo>Я>q}V>ί>qo>ί>qpmX0>ʯ>qwZ>̯>q'_3>ɯ>qFkq>ȯ>q-2_>ȯ>q<|>ǯ>qh >ï>qXsc>į>qN˼3>į>qf3>>qg>>qeu>>qhd|5>>qPk>>qx7W¢>>qbv>>q1 37p>>q߱>,bakSI;>,bak: \L8>(bak|>(bakiwԐ>"bakL=> bakiү>"bakA+>bak^Aʃ> bak!Rܭ>bak&_4>bakc>bak G>bakOs>>bakT#>bak >bakz%M H> bak >bakBJ(> bakQ>bak *S-> bakn>bak?-=[>bak4}Ƴ>bak/YN >bakd>baka52^>bakr>bak(4_on>bak2֚ű>l~; d悥s>l~; d0/B >l~; dSzۺjͰ>l~; dćŒz>l~; d 4к'>l~; dũ>l~; dSB>l~; dqe^>l~; d*i>l~; d" >l~; d{ Vm>l~; dj#5ǫ>l~; dն,K!>l~; dCJ`F|>l~; du֩>l~; dq60>l~; d6>l~; d絆>l~; dZ+@?>l~; dƾ&>l~; d3Rv>l~; dI N>l~; dy >~l~; ds 5g>~l~; dݟSK]>zl~; dJ3`>zl~; dvW>tl~; d#Z]l>tl~; d=$!>Wba[{2-Z>Oba[6'T9>Lba[D>Jba[Pd>@ba[b\>Gba[9gр>>ba[ݗܮ>9ba[9>7ba[h>/ba['R1>(ba[tW;IM>'ba[l$a>,ba[\V y>"ba[?a>ba[B)਽>ba[G>ba[&vu>ba[妛ѧ>ba[ք.> ba[n >ba[6W8>ba[hf@PB>ba[t)h>ba[M^>ba[GV>ba[31&寲>ba[V>ba[j>ba[UqO>baK~y?A>baKyX/>baK6>baKJ]N>baK >ybaK9W>ybaKyb>rbaK{>abaK$|q>^baKq7,\Ϭ>WbaKv3V<->TbaKh:>MbaKA>CbaK]5IF>CbaKtPJ>,baKQW>%baK^z`>baKF3fZ>baKrm>:>baK>tz> baK{ץ>baK31u5>baKp2>baK&>baKxO>baK/iX>baKn&8 >baKi>baK~~x>h㈵t.Q(>h㈵th%ذ>v !t*_ u>p|=7>Ӌ5qT Bϯ>1E2n~.>1E2nZ->1E2nܩs8>3j^?ROM>Tqs*i0>jNueajq/ >7_6Kcl>avtbg̒~̪>`*#&,>HZj͋>_eG|WUhEu>v !TpFK>v !T%gĪ>1E2Ntk >_eG|7j>0zAɥ>֟b)>H;~l~; >_eG|7;]̱>J kW2Q;;]YH>J kW2Q;->)S;~>/bDGW; XPg>b:[;v ^>fbaK>:hNd>lbaK> >sbaK>p>wbaK>xe!>baK>ا/>baK>%]>baK>dg>baK>9]ȭ>baK>ÆC*>baK>Nr5'>baK>]">baK>dIN>baK>4WU>baK>x p>baK> r>baK>xOԨ>baK>.5>baK>L.>baK>)>baK>P Z> baK>={|> baK>|>baK>RhrD[~>baK>S(ߣ>"baK>f? :A>/baK>*r>4baK>zJ>7baK>@baK>ZD>ba[>`v>ba[>T>ba[>`.Y>ba[>'CuI >ba[>wSy>ba[>w ݮ>ba[>K8@>ba[>o>ba[>)ά5>ba[>:ni>ba[>NQǦͫ>ba[>ܒTL0>ba[>r>ba[>oP>ba[>WY>ba[>%)>ba[>` >ba[>J2>ba[>]1k>ba[>nJ>ba[>K=>ba[>"u>ba[>"dfMs>ba[>֣>ba[>F瀾:>ba[>(Q>ba[>kj/>ba[>(hc>"ba[>` +>\l~; d>c"ݰ>_l~; d>1 >`l~; d>C?/B>fl~; d>j>el~; d>)GwO>il~; d>N >ll~; d>_ >il~; d>}u ~>nl~; d>ڨ >ol~; d>,> H>ol~; d>D>sl~; d>\>wl~; d>slw>tl~; d> ܩ>xl~; d>)5A>{l~; d>:>}l~; d>Z  >l~; d>icp>l~; d>$զ>l~; d>(,1:>l~; d>0=>l~; d>[I>l~; d>_ZVh>l~; d>bͣ>l~; d>)#o2>l~; d>&{>l~; d>Z>l~; d>UQa>l~; d>%8>bak>İ>bak>1w>bak>Omb+>bak>Ҹۺ>bak>sR$>bak>S{>bak>[>bak>Vo;X>bak>\n>bak>JC4&>bak>:8>bak>%>bak>}Z>bak>3}P>bak>n](>bak>_ܪ=ގ>bak>>bak>"k\>bak>B^2æ>bak>㒚)>bak>֞> bak>&n> bak>[N_N^>bak>eI?ţ> bak> 7+>bak>$>bak>K>i>bak>y0`>bak>Cf>>q>CM>>q>`VQ_>>q>3`<>>q>R >>q>羖>>q>cr%b>>q> 'ʭ>>q>`!B3>>q>_4ћ>>q>GC`>>q>+[l>>q>Xon}ժ>>q>_ >>>q>>>q>Q:)>>q>}{w>>q>/G>>q>MH>>q>Hd>ï>q>L>¯>q>G>ï>q>/>ï>q>WBhS>į>q>?U.>Ư>q>hм$>Ư>q>"|K>ȯ>q>;f8>ʯ>q>婢h^>ɯ>q>GBݰ>ql~; t> a>tl~; t>{G>tl~; t>Q->tl~; t>RZd>tl~; t>ή>vl~; t>j19>zl~; t>d򇣭>yl~; t>Rwz >zl~; t>a5x>{l~; t>uL>zl~; t>%7L>{l~; t>ո!8>}l~; t>R "!>l~; t>6勩>l~; t>1<>l~; t>̹`>l~; t>HAʧ>l~; t>R?5>l~; t>Q>l~; t>Xv >l~; t> aaCt>l~; t>Kޤ>l~; t>kS6qH>l~; t> F>l~; t>͆ >l~; t>| >l~; t>,J>l~; t>S\>l~; t>ޝð>5)6w>ڿy>5)6w>Ҡ/>7)6w>۔O˯>7)6w>Ū8>:)6w>Jt>:)6w>dIb=>9)6w>S [|>9)6w>rCz><)6w>,3uT>=)6w>"QѶ>>)6w>-,>>)6w>RՈ>>)6w> >@)6w>X@0q>?)6w>}Nݨ>A)6w>4lI>C)6w>S>D)6w>`!>C)6w>]" ȍ>D)6w>f>D)6w>of>G)6w>_h#Ҥ>F)6w>>G)6w>>_>G)6w>.1~>I)6w>gp>J)6w>2>J)6w>DZ>L)6w>i,>ba{>H&5`>ba{>)M>ba{>$˖>ba{>| >ba{>cW*cy>ba{>SYI>ba{>/U>ba{>4#ì>ba{>z0>ba{>QU➫>ba{>G >ba{>Kwz>ba{>!>ba{>Q׺zV>ba{>TaĨ>ba{>b5G2>ba{>e->ba{>P>ba{>4{>ba{>yR>ba{>#W>ba{>PSŤ> ba{> K3>ba{>ΐx>ba{>P^> ba{>OE}>ba{>bA+>ba{>̧qY> ba{>#z >=Y~>q2G>=Y~>C>=Y~>FFGKo>=Y~>Jޮ>=Y~>R'NN>=Y~>QU>=Y~>iU.>=Y~>2&yX>=Y~>[_ >=Y~>]Z_ }>=Y~>b>=Y~>O;fi\>=Y~>1i̩>=Y~>m;>Ģ=Y~>hps>Ģ=Y~>os!>Ƣ=Y~>4nwϊ>Ƣ=Y~>;z}>Ģ=Y~>O~+j>â=Y~>s٥>â=Y~>Q1I>Ƣ=Y~>5>Ƣ=Y~>F(>Ȣ=Y~>₏>Ȣ=Y~>o~?>ˢ=Y~>7dw>ɢ=Y~>ԙ>ˢ=Y~>QEIW>͢=Y~>mɁU>8+"r>mɁU>zfLJ>mɁU>J]ʪ>mɁU>Ӽq>mɁU>H.>mɁU>=;>mɁU>>8>mɁU>{+>mɁU>7@MS">mɁU>z8>mɁU>.ɬf>mɁU>\>mɁU>&R 8>mɁU>M> & >8+"r> & >zfLJ> & >J]ʪ> & >Ӽq> & >I.> & >=;> & >B8> & >{+> & >7@MS"> & >z8> & >-ɬf> & >\> & >"R 8> & >M> r>8+"r> r>zfLJ> r>J]ʪ>!r>Ӽq>!r>H.>r>=;> r>?8> r>{+> r>6@MS"> r>z8> r>-ɬf>r>\> r>!R 8> r>M>R&C >8+"r>T&C >zfLJ>R&C >J]ʪ>Q&C >Ӽq>R&C >I.>R&C >=;>R&C >?8>R&C >{+>R&C >9@MS">R&C >z8>R&C >-ɬf>R&C >\>R&C >&R 8>R&C >M>4Nl>8+"r>4Nl>zfLJ>4Nl>J]ʪ>4Nl>Ӽq>4Nl>I.>4Nl>=;>4Nl>A8>4Nl>{+>4Nl>5@MS">4Nl>z8>4Nl>-ɬf>4Nl>\>4Nl>"R 8>4Nl>M>B4>8+"r>B4>zfLJ>B4>J]ʪ>B4>Ӽq>B4>G.>B4>=;>B4>>8>B4>{+>B4>6@MS">B4>z8>B4>-ɬf>B4>\>B4>"R 8>B4>M>P>8+"r>P>zfLJ>P>J]ʪ>P>Ӽq>P>H.>P>=;>P>@8>P>{+>P>7@MS">P>z8>P>.ɬf>P>\>P>"R 8>P>M>_vH;>8+"r>_vH;>zfLJ>_vH;>J]ʪ>_vH;>Ӽq>_vH;>G.>_vH;>=;>_vH;>A8>_vH;>{+>_vH;>7@MS">_vH;>z8>_vH;>-ɬf>_vH;>\>_vH;>"R 8>_vH;>M>Fm.ɥ>8+"r>Hm.ɥ>zfLJ>Fm.ɥ>J]ʪ>Fm.ɥ>Ӽq>Em.ɥ>I.>Em.ɥ>=;>Fm.ɥ>@8>Fm.ɥ>{+>Gm.ɥ>9@MS">Fm.ɥ>z8>Gm.ɥ>.ɬf>Fm.ɥ>\>Fm.ɥ>"R 8>Fm.ɥ>M>x{7]X>8+"r>x{7]X>zfLJ>v{7]X>J]ʪ>v{7]X>Ӽq>v{7]X>I.>v{7]X>=;>v{7]X>?8>v{7]X>{+>v{7]X>7@MS">w{7]X>z8>v{7]X>-ɬf>v{7]X>\>v{7]X>"R 8>w{7]X>M>`>8+"r>`>zfLJ>`>J]ʪ>`>Ӽq>`>G.>`>=;>`>?8>`>{+>`>7@MS">`>z8>`>+ɬf>`>\>`>!R 8>`>M>ٗVqu>8+"r>ڗVqu>zfLJ>ٗVqu>J]ʪ>ٗVqu>Ӽq>ٗVqu>I.>ٗVqu>=;>ٗVqu>?8>ٗVqu>{+>ٗVqu>6@MS">ٗVqu>z8>ٗVqu>-ɬf>ٗVqu>\>ٗVqu>&R 8>ٗVqu>M> >8+"r> >zfLJ> >J]ʪ> >Ӽq> >G.> >=;> >@8> >{+> >7@MS"> >z8> >.ɬf> >\> >"R 8>>M>;څ>8+"r>9څ>zfLJ>9څ>J]ʪ>:څ>Ӽq>;څ>G.>9څ>=;>9څ>?8>9څ>{+>8څ>6@MS"><څ>z8>9څ>-ɬf>9څ>\><څ>R 8>:څ>M>k~!>8+"r>i~!>zfLJ>j~!>J]ʪ>k~!>Ӽq>j~!>I.>j~!>=;>k~!>@8>k~!>{+>k~!>7@MS">k~!>z8>k~!>-ɬf>k~!>\>j~!>"R 8>j~!>M>6,>8+"r>6,>zfLJ>6,>J]ʪ>6,>Ӽq>6,>G.>6,>=;>6,>@8>6,>{+>6,>6@MS">6,>z8>6,>.ɬf>6,>\>6,>"R 8>6,>M>T$>>8+"r>T$>>zfLJ>T$>>J]ʪ>T$>>Ӽq>T$>>I.>T$>>=;>T$>>@8>T$>>{+>T$>>6@MS">T$>>z8>T$>>-ɬf>T$>>\>T$>>!R 8>T$>>M>}̪>8+"r>}̪>zfLJ>}̪>J]ʪ>}̪>Ӽq>}̪>H.>}̪>=;>}̪>?8>}̪>{+>}̪>6@MS">}̪>z8>}̪>-ɬf>}̪>\>}̪>"R 8>}̪>M>,^8[>8+"r>,^8[>zfLJ>.^8[>J]ʪ>,^8[>Ӽq>,^8[>G.>,^8[>=;>,^8[>?8>,^8[>{+>.^8[>5@MS">.^8[>z8>.^8[>.ɬf>.^8[>\>.^8[>"R 8>,^8[>M>` >8+"r>^ >zfLJ>` >J]ʪ>` >Ӽq>` >H.>` >=;>` >@8>` >{+>` >7@MS">` >z8>` >-ɬf>` >\>` >"R 8>` >M>Lx>8+"r>Lx>zfLJ>Lx>J]ʪ>Lx>Ӽq>Lx>G.>Lx>=;>Lx>?8>Lx>{+>Lx>6@MS">Lx>z8>Lx>.ɬf>Lx>\>Lx>!R 8>Lx>M>% >8+"r>% >zfLJ>% >J]ʪ>% >Ӽq>% >G.>% >=;>% >?8>% >{+>% >4@MS">% >z8>% >.ɬf>% >\>% >!R 8>% >M>3?Ia>8+"r>3?Ia>zfLJ>3?Ia>J]ʪ>3?Ia>Ӽq>3?Ia>G.>3?Ia>=;>3?Ia>?8>3?Ia>{+>3?Ia>7@MS">3?Ia>z8>3?Ia>-ɬf>3?Ia>\>3?Ia>"R 8>3?Ia>M>Bq#>8+"r>Bq#>zfLJ>Bq#>J]ʪ>!Bq#>Ӽq>Bq#>G.>Bq#>=;>!Bq#>?8>!Bq#>{+>!Bq#>6@MS">!Bq#>z8>!Bq#>-ɬf>!Bq#>\>!Bq#>"R 8>!Bq#>M>SPu>8+"r>SPu>zfLJ>SPu>J]ʪ>SPu>Ӽq>QPu>G.>QPu>=;>SPu>@8>SPu>{+>SPu>4@MS">QPu>z8>SPu>-ɬf>SPu>\>SPu>"R 8>SPu>M>^g@>8+"r>^g@>zfLJ>^g@>J]ʪ>~^g@>Ӽq>~^g@>G.>~^g@>=;>^g@>@8>^g@>{+>^g@>6@MS">^g@>z8>^g@>-ɬf>^g@>\>^g@>"R 8>^g@>M>lϯ>8+"r>lϯ>zfLJ>lϯ>J]ʪ>lϯ>Ӽq>lϯ>G.>lϯ>=;>lϯ>?8>lϯ>{+>lϯ>6@MS">lϯ>z8>lϯ>-ɬf>lϯ>\>lϯ>$R 8>lϯ>M>sk />8+"r>rk />zfLJ>sk />J]ʪ>sk />Ӽq>sk />G.>sk />=;>sk />@8>sk />{+>sk />6@MS">sk />z8>sk />-ɬf>sk />\>sk />"R 8>sk />M>Ov>8+"r>Ov>zfLJ>Ov>J]ʪ>Ov>Ӽq>Ov>G.>Ov>=;>Ov>?8>Ov>{+>Ov>6@MS">Ov>z8>Ov>-ɬf>Ov>\>Ov>"R 8>Ov>M>fsDM>8+"r>fsDM>zfLJ>fsDM>J]ʪ>fsDM>Ӽq>fsDM>J.>fsDM>=;>fsDM>@8>fsDM>{+>fsDM>7@MS">fsDM>z8>fsDM>-ɬf>fsDM>\>fsDM>"R 8>fsDM>M>_ܱ>8+"r>_ܱ>zfLJ>_ܱ>J]ʪ>_ܱ>Ӽq>_ܱ>H.>_ܱ>=;>_ܱ>>8>_ܱ>{+>_ܱ>5@MS">_ܱ>z8>^ܱ>.ɬf>_ܱ>\>_ܱ>$R 8>_ܱ>M>@l>8+"r>>l>zfLJ>>l>J]ʪ>>l>Ӽq>>l>H.>>l>=;>>l>@8>>l>{+>>l>6@MS">>l>z8>>l>.ɬf>>l>\>>l>"R 8>>l>M>7bS>8+"r>7bS>zfLJ>7bS>J]ʪ>7bS>Ӽq>7bS>G.>7bS>=;>7bS>B8>7bS>{+>7bS>6@MS">7bS>z8>7bS>-ɬf>7bS>\>7bS>"R 8>7bS>M>ѱ>8+"r>ѱ>zfLJ>ѱ>J]ʪ>ѱ>Ӽq>ѱ>G.>ѱ>=;>ѱ>@8>ѱ>{+>ѱ>7@MS">ѱ>z8>ѱ>-ɬf>ѱ>\>ѱ>"R 8>ѱ>M>l>8+"r>l>zfLJ>l>J]ʪ>l>Ӽq>l>I.>l>=;>l>@8>l>{+>l>8@MS">l>z8>l>-ɬf>l>\>l>"R 8>l>M>Qc>8+"r>Qc>zfLJ>Qc>J]ʪ>Qc>Ӽq>Qc>H.>Qc>=;>Qc>?8>Qc>{+>Qc>7@MS">Qc>z8>Qc>-ɬf>Qc>\>Qc>!R 8>Qc>M>};>8+"r>};>zfLJ>};>J]ʪ>};>Ӽq>};>I.>};>=;>};>?8>};>{+>};>6@MS">};>z8>};>.ɬf>};>\>};>"R 8>};>M>z=fʵ>8+"r>y=fʵ>zfLJ>y=fʵ>J]ʪ>y=fʵ>Ӽq>z=fʵ>H.>y=fʵ>=;>z=fʵ>?8>z=fʵ>{+>z=fʵ>7@MS">z=fʵ>z8>z=fʵ>-ɬf>z=fʵ>\>z=fʵ>"R 8>z=fʵ>M>X?PsZ>8+"r>W?PsZ>zfLJ>W?PsZ>J]ʪ>W?PsZ>Ӽq>W?PsZ>H.>V?PsZ>=;>V?PsZ>?8>V?PsZ>{+>W?PsZ>6@MS">X?PsZ>z8>W?PsZ>-ɬf>V?PsZ>\>W?PsZ>$R 8>W?PsZ>M>6s9#>8+"r>7s9#>zfLJ>4s9#>J]ʪ>4s9#>Ӽq>4s9#>I.>7s9#>=;>5s9#>?8>4s9#>{+>4s9#>4@MS">4s9#>z8>4s9#>-ɬf>5s9#>\>4s9#>"R 8>4s9#>M>"y>8+"r>"y>zfLJ>"y>J]ʪ>"y>Ӽq>"y>G.>"y>=;>"y>?8>"y>{+>"y>7@MS">"y>z8>"y>.ɬf>"y>\>"y>!R 8>"y>M>. >8+"r>. >zfLJ>. >J]ʪ>. >Ӽq>. >G.>. >=;>. >@8>. >{+>. >7@MS">. >z8>. >-ɬf>. >\>. >"R 8>. >M>C~2>8+"r>C~2>zfLJ>C~2>J]ʪ>C~2>Ӽq>C~2>I.>C~2>=;>C~2>?8>C~2>{+>C~2>6@MS">C~2>z8>C~2>-ɬf>C~2>\>C~2>"R 8>C~2>M>(>8+"r>(>zfLJ>(>J]ʪ>(>Ӽq>(>H.>(>=;>(>@8>(>{+>(>6@MS">(>z8>(>-ɬf>(>\>(>"R 8>(>M>yȒ>8+"r>yȒ>zfLJ>yȒ>J]ʪ>yȒ>Ӽq>yȒ>G.>yȒ>=;>yȒ>?8>yȒ>{+>yȒ>6@MS">yȒ>z8>yȒ>-ɬf>yȒ>\>yȒ>"R 8>yȒ>M>rmBH>8+"r>omBH>zfLJ>pmBH>J]ʪ>pmBH>Ӽq>pmBH>G.>omBH>=;>pmBH>@8>omBH>{+>omBH>7@MS">pmBH>z8>pmBH>-ɬf>pmBH>\>pmBH>"R 8>omBH>M>ݪ}f>=Y~>'>=Y~>O傲>=Y~>!x2>=Y~>NM>=Y~>&j->=Y~>>=Y~>. I>â=Y~>Bص>Ģ=Y~>4k)Rf>â=Y~>7>Ƣ=Y~>:F>Ȣ=Y~>/T>Ƣ=Y~>B Lb">Ƣ=Y~>5hpV->ˢ=Y~>I^~>͢=Y~>ɆI>͢=Y~>H9>ba{>L1lo >ba{>'>ba{>'%>ba{>Lo>ba{>u%7P?>ba{>ۼj̴>ba{>đX>ba{>Gx>ba{>v1r>ba{>;_6>ba{>`jHi>ba{> 1Y> ba{>>ba{>ی1> ba{>C4> ba{>(g:K> ba{>.>6)6w>rh-$>7)6w>_wi>9)6w>+Υ:>:)6w>=&ų>:)6w>Á=~Q>=)6w>Zܴ><)6w>Z -g>>)6w>&M]>A)6w>~>A)6w>4L >C)6w>}>C)6w>U\2>G)6w>";>H)6w>㜓=6>I)6w>'Ry>I)6w>kCL>M)6w>V*>tl~; t>O;>vl~; t>i!OŲ>ul~; t>.;kO>xl~; t> %H,ٳ>{l~; t>ަb>yl~; t>(A>}l~; t>mv>}l~; t>`R,:.>l~; t>#>l~; t>@/3>l~; t>Ʊo>l~; t> 3,0'>l~; t>i>l~; t>;7%:>l~; t>q qĹ>l~; t>:2N>l~; t>^c˱>>q> օS>>q>%'۲>>q>3|s1d>>q>Fiv>>q>Z: t>>q>o^>>q>MD>>q>W >>q>I͕>>q>1>>q>tV>>q>4t.>į>q>3ම>ï>q>Ѷ$?>Ư>q>)Xiǹ>ȯ>q>>PnO>ɯ>q> r>bak> 9fk>bak>}(.>bak>8Cx>bak>^>bak>yQ>bak>aR >bak>p>bak>\ʣ>bak>Ii>bak>E60u(>bak>"=>bak>66>bak>pPϼ> bak>)kHC>bak>Նaʹ>bak>¡)Q>bak>$]>]l~; d> E#>`l~; d>߃,p>fl~; d><½>hl~; d>x >ll~; d>W>ol~; d>Rmʂ>ql~; d>m>ul~; d> bX>(>{l~; d>j܀C>yl~; d>Vh.2>~l~; d>$O%>l~; d>K7r=>l~; d>¸>l~; d><@ H>l~; d>X͹>l~; d>4կR>l~; d>;'ȏ>ba[>=/|ᚲ>ba[>=70>ba[>B?侃>ba[>BGT&>ba[>AOL%>ba[>FW->ba[>F_DZ>ba[>Ggh 5>ba[>Goj>ba[>Iw,;=>ba[>K< >ba[>L8LD>ba[>N[ȸ>ba[>QkL>ba[>QT{Pй>ba[>P!T>#ba[>U2J0>fbaK>TR>sbaK>34>baK>EI>baK>59>baK>$>baK>4A6YI>>baK>ֶ>baK>l7B>baK>(HŶ>baK>˗8+G>baK>q-_ɷ>baK>9HL>baK>Xȝθ>baK>c:P>(baK> 1Hӹ>/baK>@baK>jWI>h㈵tz]ʲ>Ӌ5q7_6K>pH̳>”/kkʹ>Tqs*i(+lěN>v !dpNuϵ>&p_qwNP>HZS'Ѷ>jNuUP)R>1E2Nҷ>_eG|7:ܳS>H ;,"5Ը>@;wEՎfU>”/K;h"?ֹ>jNuU; oAW>{X;;b>baKq!>baK`Q;7xa>baKOU>ybaK=n33`>rbaK(dߴ>^baK/^>MbaKƻK޵>GbaKv+]>=baK'ݶ>(baK(d\>"baK"۷>baK:<$[>baKU|ڸ>baKo Y>baKxM7ٹ>baKgX>baKr{>Rba[+Xl>Lba[?w>Cba[RC%>>ba[ U}s>6ba[v^>-ba[ ך@o>'ba[==">ba[-|k>ba[º>ba[Sp&f>ba[7Wɨ>ba[yv=lb>ba[ #l>ba[ M^>ba[12T/ܹ>ba[pZ>ba[W0>l~; d>l~; dB>l~; dVa >l~; dPvdž>l~; d[>->l~; d >l~; d1>l~; dfs^x>l~; dM&]>l~; d$*q>l~; d >l~; dC>i>l~; dz~{[>~l~; dJCb>~l~; dW '߹>yl~; d ӌ[>ul~; dȷGi>,bakS)>'bak~kF=>#bak[ū'> bak3E>bakyĄ>bakCq叵>bak,] >bakBJ>bakz6>bakX:A#{>bak4w> bak ?`q>bakGJ>bakġ>4g>bak>bakzU=]>bakOtDz>ׯ>q_7A>ԯ>qJ>ӯ>q^3>ү>q[>ү>q\-&>ϯ>qۼy7>ͯ>q\>˯>qڋ>ɯ>q\s] >ȯ>qZ!>ů>qXB2^>ï>q)ADx>ï>qYU:>>qfk>>qW$x>>qp^>>q>l~; t]59X>l~; t@Moг>l~; tcGfH>l~; t~ۥ>l~; t18>l~; tϦG>l~; t}|(>l~; tn>l~; t9`>l~; t[{ S>l~; t)VE>l~; teB7>l~; tZ)>l~; tOsp>l~; tŋ.>}l~; t2:d`>|l~; t>S)6wׂlp>S)6wQG>Q)6wi6y]>Q)6w.Ӵ>Q)6wXfJ>N)6w>M)6w S7>J)6wOhɭ>I)6w?$>G)6wy>G)6w^y,>E)6wpCԢ>B)6w7(/>C)6w t>?)6wȩ>>)6w?|a>=)6w$P>ba{J>ba{8UE>ba{n?r>ba{Y:>ba{Di4\>ba{z/ѵ>ba{ ͝)F>ba{~$> ba{+00> ba{a> ba{L> ba{;D>ba{m>ba{y>ba{Y>ba{ b>ba{;\,>آ=Y~OR>բ=Y~`X>Т=Y~r כ>Ң=Y~(U@>Ң=Y~Fn>͢=Y~dQ>ɢ=Y~-U>͢=Y~àM~ȶ>Ȣ=Y~־v;>ˢ=Y~I|>Ȣ=Y~ǿ">Ȣ=Y~Fdy>Ȣ=Y~7 >â=Y~(UBv}>=Y~8sQ>=Y~I>sd>=Y~UHM㟾THR 8TH\TH&ɬf㚾UHz8TH-@MS"TH{+㕾TH/8TH=;UH7.㐾UHrӼqUHrJ]ʪTHzzfLJTH~8+"r Ʒ>M㟾 Ʒ>$R 8 Ʒ>\ Ʒ>)ɬf㚾 Ʒ>z8 Ʒ>+@MS"Ʒ>{+㕾 Ʒ>/8 Ʒ>=; Ʒ>6.㐾 Ʒ>sӼq Ʒ>uJ]ʪ Ʒ>yzfLJ Ʒ>~8+"r\)>M㟾\)>"R 8\)>\\)>)ɬf㚾\)>z8\)>,@MS"\)>{+㕾\)>08\)>=;\)>6.㐾\)>nӼq\)>rJ]ʪ\)>xzfLJ\)>8+"rtK˛>M㟾tK˛>!R 8tK˛>\tK˛>(ɬf㚾tK˛>z8tK˛>,@MS"tK˛>{+㕾tK˛>/8tK˛>=;tK˛>6.㐾tK˛>nӼqtK˛>uJ]ʪtK˛>zzfLJtK˛>8+"r'a >M㟾(a >!R 8'a >\(a >)ɬf㚾'a >z8'a >-@MS"&a >{+㕾(a >28(a >=;%a >5.㐾)a >pӼq'a >rJ]ʪ(a >xzfLJ(a >8+"rݢ<+>M㟾ݢ<+>!R 8ݢ<+>\ݢ<+>)ɬf㚾ݢ<+>z8ݢ<+>+@MS"ݢ<+>{+㕾ݢ<+>08ݢ<+>=;ݢ<+>6.㐾ݢ<+>pӼqݢ<+>uJ]ʪݢ<+>yzfLJݢ<+>~8+"rN>M㟾N>"R 8N>\N>)ɬf㚾N>z8N>-@MS"N>{+㕾N>08N>=;N>6.㐾N>pӼqN>uJ]ʪN>yzfLJN>~8+"rGѽc>M㟾Gѽc>!R 8Hѽc>\Gѽc>$ɬf㚾Gѽc>z8Hѽc>+@MS"Fѽc>{+㕾Hѽc>18Eѽc>=;Gѽc>5.㐾Gѽc>pӼqIѽc>rJ]ʪHѽc>yzfLJHѽc>8+"rն>M㟾ն>!R 8ն>\ն>$ɬf㚾ն>z8ն>-@MS"ն>{+㕾ն>/8ն>=;ն>5.㐾ն>nӼqն>uJ]ʪն>yzfLJն>8+"rQgPG>M㟾QgPG>!R 8QgPG>\QgPG>&ɬf㚾QgPG>z8QgPG>+@MS"QgPG>{+㕾QgPG>08QgPG>=;QgPG>6.㐾QgPG>pӼqQgPG>rJ]ʪQgPG>wzfLJQgPG>8+"rf߹>M㟾e߹>!R 8e߹>\f߹>(ɬf㚾f߹>z8f߹>,@MS"f߹>{+㕾e߹>28f߹>=;f߹>5.㐾d߹>pӼqe߹>uJ]ʪe߹>zzfLJf߹>8+"r+>M㟾+>!R 8+>\+>$ɬf㚾+>z8+>+@MS"+>{+㕾+>08+>=;+>5.㐾+>pӼq+>uJ]ʪ+>zzfLJ+>|8+"rTG䝸>M㟾TG䝸>!R 8TG䝸>\TG䝸>(ɬf㚾TG䝸>z8TG䝸>-@MS"TG䝸>{+㕾TG䝸>/8TG䝸>=;TG䝸>6.㐾TG䝸>pӼqTG䝸>uJ]ʪTG䝸>zzfLJTG䝸>8+"ru>M㟾u>!R 8u>\u>(ɬf㚾u>z8u>*@MS"u>{+㕾u>08u>=;u>6.㐾u>pӼqu>uJ]ʪu>{zfLJu>8+"r9>ꁹ>M㟾=>ꁹ>!R 8:>ꁹ>\9>ꁹ>(ɬf㚾9>ꁹ>z89>ꁹ>*@MS"9>ꁹ>{+㕾9>ꁹ>/89>ꁹ>=;=>ꁹ>6.㐾=>ꁹ>pӼq9>ꁹ>rJ]ʪ:>ꁹ>yzfLJ:>ꁹ>8+"rW'>M㟾W'>"R 8W'>\W'>(ɬf㚾W'>z8W'>+@MS"W'>{+㕾W'>/8W'>=;W'>5.㐾W'>pӼqW'>rJ]ʪW'>yzfLJW'>8+"rre>M㟾re>!R 8re>\re>(ɬf㚾re>z8re>+@MS"re>{+㕾re>08re>=;re>6.㐾re>rӼqre>uJ]ʪre>yzfLJre>8+"rvtx  edg !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~                !!""##$$%%&& ''(())**++,,--..//0011223344556677 8899::;;<<==>>??@@AABBCCDDEEFFGGHH IIJJKKLLMMNNOOPPQQRRSSTTUUVV WWXXYYZZ[[\\]]^^__``aabbccddeeffgg hhiijjkkllmmnnooppqqrrssttuuvvwwxx yyzz{{||}}~~ !?!?!?!???"?"?kUUUUU?kUUUUU?????#?#?H33333?H33333?mUUUUU?mUUUUU?wwwww?wwwww???ܻ?ܻ????????633333?633333?????733333?733333?kfffff?kfffff??????????633333?633333?????733333?733333?kfffff?kfffff?????????833333?833333???lfffff?lfffff?????:33333?:33333???nfffff?nfffff??????633333?633333?????733333?733333?kfffff?kfffff??????????????VUUUUU?VUUUUU???????333333?333333?UUUUUU?UUUUUU?wwwwww?wwwwww????????????633333?633333?????733333?733333?kfffff?kfffff??????????633333?633333?????733333?733333?kfffff?kfffff??????!?!?!?!???"?"?kUUUUU?kUUUUU?????#?#?H33333?H33333?mUUUUU?mUUUUU?wwwww?wwwww???ܻ?ܻ???? ? ? ? ?????RUUUUU?RUUUUU???????133333?133333?SUUUUU?SUUUUU?uwwwww?uwwwww???????????""""""?""""""?433333?433333?FDDDDD?FDDDDD?XUUUUU?XUUUUU?jfffff?jfffff?|wwwww?|wwwww???????Ļ?Ļ????????????633333?633333?????733333?733333?kfffff?kfffff?????????833333?833333???lfffff?lfffff?????:33333?:33333???nfffff?nfffff?? ? ? ? ?????RUUUUU?RUUUUU???????133333?133333?SUUUUU?SUUUUU?uwwwww?uwwwww???????????""""""?""""""?433333?433333?FDDDDD?FDDDDD?XUUUUU?XUUUUU?jfffff?jfffff?|wwwww?|wwwww???????Ļ?Ļ????????????????VUUUUU?VUUUUU???????333333?333333?UUUUUU?UUUUUU?wwwwww?wwwwww????????????????`UUUUU?`UUUUU???????<33333?<33333?_UUUUU?_UUUUU?wwwww?wwwww???Ȼ?Ȼ???????)"""""?)"""""?:33333?:33333?KDDDDD?KDDDDD?\UUUUU?\UUUUU?mfffff?mfffff?~wwwww?~wwwww???????»?»????????????????`UUUUU?`UUUUU???????<33333?<33333?_UUUUU?_UUUUU?wwwww?wwwww???Ȼ?Ȼ???????)"""""?)"""""?:33333?:33333?KDDDDD?KDDDDD?\UUUUU?\UUUUU?mfffff?mfffff?~wwwww?~wwwww???????»?»????????????????VUUUUU?VUUUUU???????333333?333333?UUUUUU?UUUUUU?wwwwww?wwwwww????????????C33333?C33333??? ? ?A33333?A33333?vfffff?vfffff????? ? ???>33333?>33333???rfffff?rfffff? ? ???@33333?@33333???tfffff?tfffff??0qq?0qq?0qq?0qq?dUUUUU?dUUUUU?0qq?0qq?~q?~q?dUUUUU?dUUUUU?J8?J8?0qq?0qq? ? ?~q?~q?88?88?dUUUUU?dUUUUU?qq?qq?J8?J8???0qq?0qq?88?88??0qq?0qq?0qq?0qq?dUUUUU?dUUUUU?0qq?0qq?~q?~q?dUUUUU?dUUUUU?J8?J8?0qq?0qq? ? ?~q?~q?88?88?dUUUUU?dUUUUU?qq?qq?J8?J8???0qq?0qq?88?88??!?!?!?!???"?"?kUUUUU?kUUUUU?????#?#?H33333?H33333?mUUUUU?mUUUUU?wwwww?wwwww???ܻ?ܻ????Yqq?Yqq?Yqq?Yqq?UUUUU?UUUUU?Zqq?Zqq?q?q?UUUUU?UUUUU?n8?n8?Yqq?Yqq?"?"?q?q?98?98?UUUUU?UUUUU?qq?qq?p8?p8?檪?檪?\qq?\qq?88?88??Yqq?Yqq?Yqq?Yqq?UUUUU?UUUUU?Zqq?Zqq?q?q?UUUUU?UUUUU?n8?n8?Yqq?Yqq?"?"?q?q?98?98?UUUUU?UUUUU?qq?qq?p8?p8?檪?檪?\qq?\qq?88?88??!?!?!?!???"?"?kUUUUU?kUUUUU?????#?#?H33333?H33333?mUUUUU?mUUUUU?wwwww?wwwww???ܻ?ܻ????????633333?633333?????733333?733333?kfffff?kfffff?????????833333?833333???lfffff?lfffff?????:33333?:33333???nfffff?nfffff??????????VUUUUU?VUUUUU???????333333?333333?UUUUUU?UUUUUU?wwwwww?wwwwww????????                                  quadT ::; ;< !<=!"=>"#>?#$uq~;܄  ?@$%          @A%&          !!""##$$%%AB&ccddeeffgghhiijj k k!l!l"m"m#n#n$o$o%p%pB:'&'&('(')()(*)*)+*+*,+,+-,-,.-.-/./.0/0/101021213232434354546565767687879898Q:;&9&9':':(;(;)<)<*=*=+>+>,?,?-@-@.A.A/B/B0C0C1D1D2E2E3F3F4G4G5H5H6I6I7J7J8K8KQR;<9L9L:M:M;N;N<O<O=P=P>Q>Q?R?R@S@SATATBUBUCVCVDWDWEXEXFYFYGZGZH[H[I\I\J]J]K^K^RS<=L_L_M`M`NaNaObObPcPcQdQdReReSfSfTgTgUhUhViViWjWjXkXkYlYlZmZm[n[n\o\o]p]p^q^qST=>_r_r`s`satatbubucvcvdwdwexexfyfygzgzh{h{i|i|j}j}k~k~llmmnnooppqqTU>?rrssttuuvvwwxxyyzz{{||}}~~UV?@VW@AWXABXYBYQCCDDEEFFGGHHIIJJKKLLMMNNOOPPZQRZ[RS[\ST\]TU          ]^UV            !!""##$$^_VW%%&&''(())**++,,-- . .!/!/"0"0#1#1$2$2_`WX%3%3&4&4'5'5(6(6)7)7*8*8+9+9,:,:-;-;.<.</=/=0>0>1?1?2@2@`aXY3A3A4B4B5C5C6D6D7E7E8F8F9G9G:H:H;I;I<J<J=K=K>L>L?M?M@N@NabYAABBCCDDEEFFGGHHIIJJKKLLMMNNbqcOcOdPdPeQeQfRfRgSgShThTiUiUjVjVkWkWlXlXmYmYnZnZo[o[p\p\qrO]O]P^P^Q_Q_R`R`SaSaTbTbUcUcVdVdWeWeXfXfYgYgZhZh[i[i\j\jrs]k]k^l^l_m_m`n`naoaobpbpcqcqdrdresesftftguguhvhviwiwjxjxstkykylzlzm{m{n|n|o}o}p~p~qqrrssttuuvvwwxxtuyyzz{{||}}~~uvvwwxxyyzz{{||}}~          ~            !!""##$$%%&&''(())**++,,-- . .!/!/"0"0#1#1$2$2%3%3&4&4'5'5(6(6)7)7*8*8+9+9,:,:-;-;.<.</=/=0>0>1?1?2@2@3A3A4B4B5C5C6D6D7E7E8F8F9G9G:H:H;I;I<J<J=K=K>L>L?M?M@N@NAOAOBPBPCQCQDRDRESESFTFTGUGUHVHVIWIWJXJXKYKYLZLZM[M[N\N\O]O]P^P^Q_Q_R`R`SaSaTbTbUcUcVdVdWeWeXfXfYgYgZhZh[i[i\j\j]k]k^l^l_m_m`n`naoaobpbpcqcqdrdresesftftguguhvhviwiwjxjxkykylzlzm{m{n|n|o}o}p~p~qqrrssttuuvvwwxxyyzz{{||}}~~ IIJJKKLLMMNNOOPPQQRRSSTTUUVV &&%          %$  !!""##$$%% & & ' ' ( ( ) ) * *++,,--..//00112233445566778899::;;$#<< = =!>!>"?"?#@#@$A$A%B%B&C&C'D'D(E(E)F)F*G*G+H+H,I,I-J-J.K.K/L/L0M0M1N1N2O2O3P3P4Q4Q5R5R6S6S7T7T8U8U9V9V:W:W;X;X#"<Y<Y=Z=Z>[>[?\?\@]@]A^A^B_B_C`C`DaDaEbEbFcFcGdGdHeHeIfIfJgJgKhKhLiLiMjMjNkNkOlOlPmPmQnQnRoRoSpSpTqTqUrUrVsVsWtWtXuXu"!YvYvZwZw[x[x\y\y]z]z^{^{_|_|`}`}a~a~bbccddeeffgghhiijjkkllmmnnooppqqrrssttuu! vvwwxxyyzz{{||}}~~             !!""##$$%% & & ' ' ( ( ) ) * *++,,--..//00112233445566778899::;;<< = =!>!>"?"?#@#@$A$A%B%B&C&C'D'D(E(E)F)F*G*G+H+H,I,I-J-J.K.K/L/L0M0M1N1N2O2O3P3P4Q4Q5R5R6S6S7T7T8U8U9V9V:W:W;X;X<Y<Y=Z=Z>[>[?\?\@]@]A^A^B_B_C`C`DaDaEbEbFcFcGdGdHeHeIfIfJgJgKhKhLiLiMjMjNkNkOlOlPmPmQnQnRoRoSpSpTqTqUrUrVsVsWtWtXuXuYvYvZwZw[x[x\y\y]z]z^{^{_|_|`}`}a~a~bbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~                      !!""##$$%%&&''(())**++,,-- . .!/!/"0"0#1#1$2$2%3%3&4&4'5'5(6(6)7)7*8*8+9+9,:,:-;-;.<.</=/=0>0>1?1?2@2@3A3A4B4B5C5C6D6D7E7E8F8F9G9G:H:H;I;I<J<J=K=K>L>L?M?M@N@NAOAOBPBPCQCQDRDRESESFTFTGUGUHVHVIWIWJXJXKYKYLZLZM[M[N\N\O]O]P^P^Q_Q_R`R`SaSaTbTbUcUcVdVdWeWeXfXfYgYgZhZh[i[i\j\j]k]k^l^l_m_m`n`naoaobpbpcqcqdrdresesftftguguhvhviwiwjxjxkykylzlzm{m{n|n|o}o}p~p~qqrrssttuuvvwwxxyyzz{{||}}~~                      !!""##$$%%&&''(())**++,,-- . .!/!/"0"0#1#1$2$2%3%3&4&4'5'5(6(6)7)7*8*8+9+9,:,:-;-;.<.</=/=0>0>1?1?2@2@3A3A4B4B5C5C6D6D7E7E8F8F9G9G:H:H;I;I<J<J=K=K>L>L?M?M@N@NAOAOBPBPCQCQDRDRESESFTFTGUGUHVHVIWIWJXJXKYKYLZLZM[M[N\N\O]O]P^P^Q_Q_R`R`SaSaTbTbUcUcVdVdWeWeXfXfYgYgZhZh[i[i\j\j]k]k^l^l_m_m`n`naoaobpbpcqcqdrdresesftftguguhvhviwiwjxjxkykylzlzm{m{n|n|o}o}p~p~qqrrssttuuvvwwxxyyzz{{||}}~~           '           8'(89()9:)*:;*+;<+,<=,-        =>-.                                  >?./                                              ?@/0   !  !  "  "  #  #  $  $  %  %  &  &  '  '  (  (  )  )  *  *  +  +  ,  ,  -  - @A01 . . ! / ! / " 0 " 0 # 1 # 1 $ 2 $ 2 % 3 % 3 & 4 & 4 ' 5 ' 5 ( 6 ( 6 ) 7 ) 7 * 8 * 8 + 9 + 9 , : , : - ; - ; AB12. < . < / = / = 0 > 0 > 1 ? 1 ? 2 @ 2 @ 3 A 3 A 4 B 4 B 5 C 5 C 6 D 6 D 7 E 7 E 8 F 8 F 9 G 9 G : H : H ; I ; I BC23< J < J = K = K > L > L ? M ? M @ N @ N A O A O B P B P C Q C Q D R D R E S E S F T F T G U G U H V H V I W I W CD34J X J X K Y K Y L Z L Z M [ M [ N \ N \ O ] O ] P ^ P ^ Q _ Q _ R ` R ` S a S a T b T b U c U c V d V d W e W e DE45X f X f Y g Y g Z h Z h [ i [ i \ j \ j ] k ] k ^ l ^ l _ m _ m ` n ` n a o a o b p b p c q c q d r d r e s e s EF56f t f t g u g u h v h v i w i w j x j x k y k y l z l z m { m { n | n | o } o } p ~ p ~ q  q  r r s s FG67t t u u v v w w x x y y z z { { | | } } ~ ~   GH7                            H' ' ( ( ) ) * * + + , , - - . . / / 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7                                                                                 !  !  "  "  #  #  $  $  %  %  &  &  '  '  (  (  )  )  *  *  +  +  ,  ,  -  -  .  .  /  /  0  0 1 1 ! 2 ! 2 " 3 " 3 # 4 # 4 $ 5 $ 5 % 6 % 6 & 7 & 7 ' 8 ' 8 ( 9 ( 9 ) : ) : * ; * ; + < + < , = , = - > - > . ? . ? / @ / @ 0 A 0 A 1 B 1 B 2 C 2 C 3 D 3 D 4 E 4 E 5 F 5 F 6 G 6 G 7 H 7 H 8 I 8 I 9 J 9 J : K : K ; L ; L < M < M = N = N > O > O ? P ? P @ Q @ Q A R A R B S B S C T C T D U D U E V E V F W F W G X G X H Y H Y I Z I Z J [ J [  K \ K \ L ] L ] M ^ M ^ N _ N _ O ` O ` P a P a Q b Q b R c R c S d S d T e T e U f U f V g V g W h W h X i X i Y j Y j Z k Z k [ l [ l  !\ m \ m ] n ] n ^ o ^ o _ p _ p ` q ` q a r a r b s b s c t c t d u d u e v e v f w f w g x g x h y h y i z i z j { j { k | k | l } l } !"m ~ m ~ n  n  o o p p q q r r s s t t u u v v w w x x y y z z { { | | } } "#~ ~   #$ $% %& & h h i i j j k k l l m m n n o o p p q q r r s s t t u u v v w w x x WI I J J K K L L M M N N O O P P Q Q R R S S T T U U V V hWX hiXY ijYZ                 jkZ[                                       kl[\                          !  !  "  "  #  #  $  $  %  %  &  & lm\] '  '  (  (  )  )  *  *  +  +  ,  ,  -  - . . ! / ! / " 0 " 0 # 1 # 1 $ 2 $ 2 % 3 % 3 & 4 & 4 mn]^' 5 ' 5 ( 6 ( 6 ) 7 ) 7 * 8 * 8 + 9 + 9 , : , : - ; - ; . < . < / = / = 0 > 0 > 1 ? 1 ? 2 @ 2 @ 3 A 3 A 4 B 4 B no^_5 C 5 C 6 D 6 D 7 E 7 E 8 F 8 F 9 G 9 G : H : H ; I ; I < J < J = K = K > L > L ? M ? M @ N @ N A O A O B P B P op_`C Q C Q D R D R E S E S F T F T G U G U H V H V I W I W J X J X K Y K Y L Z L Z M [ M [ N \ N \ O ] O ] P ^ P ^ pq`aQ _ Q _ R ` R ` S a S a T b T b U c U c V d V d W e W e X f X f Y g Y g Z h Z h [ i [ i \ j \ j ] k ] k ^ l ^ l qrab_ m _ m ` n ` n a o a o b p b p c q c q d r d r e s e s f t f t g u g u h v h v i w i w j x j x k y k y l z l z rsbcm { m { n | n | o } o } p ~ p ~ q  q  r r s s t t u u v v w w x x y y z z stcd{ { | | } } ~ ~   tude uvef vwfg wxg y y z z { { | | } } ~ ~                x T  xsrcom.femlab.xmesh.Solution[ʏQqSxpwuq~;*.lambda{{  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  !!!!!!!!! ! ! ! ! !!!!!!!!!!!!!!!!!!! !!!"!#!$!%!&!'!(!)!*!+!,!-!.!/!0!1!2!3!4!5!6!7!8!9!:!;!!?!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""" " " " " """"""""""""""""""" "!"""#"$"%"&"'"(")"*"+","-"."/"0"1"2"3"4"5"6"7"8"9":";"<"=">"?"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""######### # # # # ################### #!#"###$#%#&#'#(#)#*#+#,#-#.#/#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~##################################################################################################################################$$$$$$$$$ $ $ $ $ $$$$$$$$$$$$$$$$$$$ $!$"$#$$$%$&$'$($)$*$+$,$-$.$/$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$t$u$v$w$x$y$z${$|$}$~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%% % % % % %%%%%%%%%%%%%%%%%%% %!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%w%x%y%z%{%|%}%~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&& & & & & &&&&&&&&&&&&&&&&&&& &!&"&#&$&%&&&'&(&)&*&+&,&-&.&/&0&1&2&3&4&5&6&7&8&9&:&;&<&=&>&?&@&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&[&\&]&^&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&n&o&p&q&r&s&t&u&v&w&x&y&z&{&|&}&~&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''' ' ' ' ' ''''''''''''''''''' '!'"'#'$'%'&'''(')'*'+','-'.'/'0'1'2'3'4'5'6'7'8'9':';'<'='>'?'@'A'B'C'D'E'F'G'H'I'J'K'L'M'N'O'P'Q'R'S'T'U'V'W'X'Y'Z'['\']'^'_'`'a'b'c'd'e'f'g'h'i'j'k'l'm'n'o'p'q'r's't'u'v'w'x'y'z'{'|'}'~''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''((((((((( ( ( ( ( ((((((((((((((((((( (!("(#($(%(&('((()(*(+(,(-(.(/(0(1(2(3(4(5(6(7(8(9(:(;(<(=(>(?(@(A(B(C(D(E(F(G(H(I(J(K(L(M(N(O(P(Q(R(S(T(U(V(W(X(Y(Z([(\(](^(_(`(a(b(c(d(e(f(g(h(i(j(k(l(m(n(o(p(q(r(s(t(u(v(w(x(y(z({(|(}(~(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))) ) ) ) ) ))))))))))))))))))) )!)")#)$)%)&)')()))*)+),)-).)/)0)1)2)3)4)5)6)7)8)9):);)<)=)>)?)@)A)B)C)D)E)F)G)H)I)J)K)L)M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)[)\)])^)_)`)a)b)c)d)e)f)g)h)i)j)k)l)m)n)o)p)q)r)s)t)u)v)w)x)y)z){)|)})~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))********* * * * * ******************* *!*"*#*$*%*&*'*(*)***+*,*-*.*/*0*1*2*3*4*5*6*7*8*9*:*;*<*=*>*?*@*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*\*]*^*_*`*a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*{*|*}*~**********************************************************************************************************************************+++++++++ + + + + +++++++++++++++++++ +!+"+#+$+%+&+'+(+)+*+++,+-+.+/+0+1+2+3+4+5+6+7+8+9+:+;+<+=+>+?+@+A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z+[+\+]+^+_+`+a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z+{+|+}+~++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,, , , , , ,,,,,,,,,,,,,,,,,,, ,!,",#,$,%,&,',(,),*,+,,,-,.,/,0,1,2,3,4,5,6,7,8,9,:,;,<,=,>,?,@,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,[,\,],^,_,`,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,{,|,},~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------- - - - - ------------------- -!-"-#-$-%-&-'-(-)-*-+-,---.-/-0-1-2-3-4-5-6-7-8-9-:-;-<-=->-?-@-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z-[-\-]-^-_-`-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z-{-|-}-~----------------------------------------------------------------------------------------------------------------------------------......... . . . . ................... .!.".#.$.%.&.'.(.).*.+.,.-.../.0.1.2.3.4.5.6.7.8.9.:.;.<.=.>.?.@.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.[.\.].^._.`.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.{.|.}.~..................................................................................................................................///////// / / / / /////////////////// /!/"/#/$/%/&/'/(/)/*/+/,/-/.///0/1/2/3/4/5/6/7/8/9/:/;//?/@/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/{/|/}/~//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////000000000 0 0 0 0 0000000000000000000 0!0"0#0$0%0&0'0(0)0*0+0,0-0.0/000102030405060708090:0;0<0=0>0?0@0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111 1 1 1 1 1111111111111111111 1!1"1#1$1%1&1'1(1)1*1+1,1-1.1/101112131415161718191:1;1<1=1>1?1@1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1[1\1]1^1_1`1a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1{1|1}1~1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222 2 2 2 2 2222222222222222222 2!2"2#2$2%2&2'2(2)2*2+2,2-2.2/202122232425262728292:2;2<2=2>2?2@2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2[2\2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2{2|2}2~2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222333333333 3 3 3 3 3333333333333333333 3!3"3#3$3%3&3'3(3)3*3+3,3-3.3/303132333435363738393:3;3<3=3>3?3@3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3[3\3]3^3_3`3a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}3~3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444 4 4 4 4 4444444444444444444 4!4"4#4$4%4&4'4(4)4*4+4,4-4.4/404142434445464748494:4;4<4=4>4?4@4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4\4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}4~4444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444555555555 5 5 5 5 5555555555555555555 5!5"5#5$5%5&5'5(5)5*5+5,5-5.5/505152535455565758595:5;5<5=5>5?5@5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5\5]5^5_5`5a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5{5|5}5~5555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555666666666 6 6 6 6 6666666666666666666 6!6"6#6$6%6&6'6(6)6*6+6,6-6.6/606162636465666768696:6;6<6=6>6?6@6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6\6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6{6|6}6~6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777 7 7 7 7 7777777777777777777 7!7"7#7$7%7&7'7(7)7*7+7,7-7.7/707172737475767778797:7;7<7=7>7?7@7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7[7\7]7^7_7`7a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7{7|7}7~7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777888888888 8 8 8 8 8888888888888888888 8!8"8#8$8%8&8'8(8)8*8+8,8-8.8/808182838485868788898:8;8<8=8>8?8@8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8\8]8^8_8`8a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}8~8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888999999999 9 9 9 9 9999999999999999999 9!9"9#9$9%9&9'9(9)9*9+9,9-9.9/909192939495969798999:9;9<9=9>9?9@9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9\9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}9~9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::: : : : : ::::::::::::::::::: :!:":#:$:%:&:':(:):*:+:,:-:.:/:0:1:2:3:4:5:6:7:8:9:::;:<:=:>:?:@:A:B:C:D:E:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:\:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:}:~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;; ; ; ; ; ;;;;;;;;;;;;;;;;;;; ;!;";#;$;%;&;';(;);*;+;,;-;.;/;0;1;2;3;4;5;6;7;8;9;:;;;<;=;>;?;@;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z;[;\;];^;_;`;a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;p;q;r;s;t;u;v;w;x;y;z;{;|;};~;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<< < < < < <<<<<<<<<<<<<<<<<<< <!<"<#<$<%<&<'<(<)<*<+<,<-<.</<0<1<2<3<4<5<6<7<8<9<:<;<<<=<><?<@<A<B<C<D<E<F<G<H<I<J<K<L<M<N<O<P<Q<R<S<T<U<V<W<X<Y<Z<[<\<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|<}<~<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<========= = = = = =================== =!="=#=$=%=&='=(=)=*=+=,=-=.=/=0=1=2=3=4=5=6=7=8=9=:=;=<===>=?=@=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z=[=\=]=^=_=`=a=b=c=d=e=f=g=h=i=j=k=l=m=n=o=p=q=r=s=t=u=v=w=x=y=z={=|=}=~==================================================================================================================================>>>>>>>>> > > > > >>>>>>>>>>>>>>>>>>> >!>">#>$>%>&>'>(>)>*>+>,>->.>/>0>1>2>3>4>5>6>7>8>9>:>;><>=>>>?>@>A>B>C>D>E>F>G>H>I>J>K>L>M>N>O>P>Q>R>S>T>U>V>W>X>Y>Z>[>\>]>^>_>`>a>b>c>d>e>f>g>h>i>j>k>l>m>n>o>p>q>r>s>t>u>v>w>x>y>z>{>|>}>~>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????? ? ? ? ? ??????????????????? ?!?"?#?$?%?&?'?(?)?*?+?,?-?.?/?0?1?2?3?4?5?6?7?8?9?:?;????@?A?B?C?D?E?F?G?H?I?J?K?L?M?N?O?P?Q?R?S?T?U?V?W?X?Y?Z?[?\?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}?~??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@@@@@@ @!@"@#@$@%@&@'@(@)@*@+@,@-@.@/@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@@@A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@[@\@]@^@_@`@a@b@c@d@e@f@g@h@i@j@k@l@m@n@o@p@q@r@s@t@u@v@w@x@y@z@{@|@}@~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAA A A A A AAAAAAAAAAAAAAAAAAA A!A"A#A$A%A&A'A(A)A*A+A,A-A.A/A0A1A2A3A4A5A6A7A8A9A:A;AA?A@AAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA[A\A]A^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}A~AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBB B B B B BBBBBBBBBBBBBBBBBBB B!B"B#B$B%B&B'B(B)B*B+B,B-B.B/B0B1B2B3B4B5B6B7B8B9B:B;BB?B@BABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBXBYBZB[B\B]B^B_B`BaBbBcBdBeBfBgBhBiBjBkBlBmBnBoBpBqBrBsBtBuBvBwBxByBzB{B|B}B~BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCC C C C C CCCCCCCCCCCCCCCCCCC C!C"C#C$C%C&C'C(C)C*C+C,C-C.C/C0C1C2C3C4C5C6C7C8C9C:C;CC?C@CACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZC[C\C]C^C_C`CaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzC{C|C}C~CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDD D D D D DDDDDDDDDDDDDDDDDDD D!D"D#D$D%D&D'D(D)D*D+D,D-D.D/D0D1D2D3D4D5D6D7D8D9D:D;DD?D@DADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZD[D\D]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDmDnDoDpDqDrDsDtDuDvDwDxDyDzD{D|D}D~DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEE E E E E EEEEEEEEEEEEEEEEEEE E!E"E#E$E%E&E'E(E)E*E+E,E-E.E/E0E1E2E3E4E5E6E7E8E9E:E;EE?E@EAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE[E\E]E^E_E`EaEbEcEdEeEfEgEhEiEjEkElEmEnEoEpEqErEsEtEuEvEwExEyEzE{E|E}E~EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFF F F F F FFFFFFFFFFFFFFFFFFF F!F"F#F$F%F&F'F(F)F*F+F,F-F.F/F0F1F2F3F4F5F6F7F8F9F:F;FF?F@FAFBFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQFRFSFTFUFVFWFXFYFZF[F\F]F^F_F`FaFbFcFdFeFfFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzF{F|F}F~FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGG G G G G GGGGGGGGGGGGGGGGGGG G!G"G#G$G%G&G'G(G)G*G+G,G-G.G/G0G1G2G3G4G5G6G7G8G9G:G;GG?G@GAGBGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG[G\G]G^G_G`GaGbGcGdGeGfGgGhGiGjGkGlGmGnGoGpGqGrGsGtGuGvGwGxGyGzG{G|G}G~GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHH H H H H HHHHHHHHHHHHHHHHHHH H!H"H#H$H%H&H'H(H)H*H+H,H-H.H/H0H1H2H3H4H5H6H7H8H9H:H;HH?H@HAHBHCHDHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH[H\H]H^H_H`HaHbHcHdHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxHyHzH{H|H}H~HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIII I I I I IIIIIIIIIIIIIIIIIII I!I"I#I$I%I&I'I(I)I*I+I,I-I.I/I0I1I2I3I4I5I6I7I8I9I:I;II?I@IAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZI[I\I]I^I_I`IaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzI{I|I}I~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJ J J J J JJJJJJJJJJJJJJJJJJJ J!J"J#J$J%J&J'J(J)J*J+J,J-J.J/J0J1J2J3J4J5J6J7J8J9J:J;JJ?J@JAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJPJQJRJSJTJUJVJWJXJYJZJ[J\J]J^J_J`JaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJtJuJvJwJxJyJzJ{J|J}J~JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKK K K K K KKKKKKKKKKKKKKKKKKK K!K"K#K$K%K&K'K(K)K*K+K,K-K.K/K0K1K2K3K4K5K6K7K8K9K:K;KK?K@KAKBKCKDKEKFKGKHKIKJKKKLKMKNKOKPKQKRKSKTKUKVKWKXKYKZK[K\K]K^K_K`KaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqKrKsKtKuKvKwKxKyKzK{K|K}K~KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLL L L L L LLLLLLLLLLLLLLLLLLL L!L"L#L$L%L&L'L(L)L*L+L,L-L.L/L0L1L2L3L4L5L6L7L8L9L:L;LL?L@LALBLCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLTLULVLWLXLYLZL[L\L]L^L_L`LaLbLcLdLeLfLgLhLiLjLkLlLmLnLoLpLqLrLsLtLuLvLwLxLyLzL{L|L}L~LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMM M M M M MMMMMMMMMMMMMMMMMMM M!M"M#M$M%M&M'M(M)M*M+M,M-M.M/M0M1M2M3M4M5M6M7M8M9M:M;MM?M@MAMBMCMDMEMFMGMHMIMJMKMLMMMNMOMPMQMRMSMTMUMVMWMXMYMZM[M\M]M^M_M`MaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzM{M|M}M~MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNN N N N N NNNNNNNNNNNNNNNNNNN N!N"N#N$N%N&N'N(N)N*N+N,N-N.N/N0N1N2N3N4N5N6N7N8N9N:N;NN?N@NANBNCNDNENFNGNHNINJNKNLNMNNNONPNQNRNSNTNUNVNWNXNYNZN[N\N]N^N_N`NaNbNcNdNeNfNgNhNiNjNkNlNmNnNoNpNqNrNsNtNuNvNwNxNyNzN{N|N}N~NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOO O O O O OOOOOOOOOOOOOOOOOOO O!O"O#O$O%O&O'O(O)O*O+O,O-O.O/O0O1O2O3O4O5O6O7O8O9O:O;OO?O@OAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWOXOYOZO[O\O]O^O_O`OaObOcOdOeOfOgOhOiOjOkOlOmOnOoOpOqOrOsOtOuOvOwOxOyOzO{O|O}O~OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPP P P P P PPPPPPPPPPPPPPPPPPP P!P"P#P$P%P&P'P(P)P*P+P,P-P.P/P0P1P2P3P4P5P6P7P8P9P:P;PP?P@PAPBPCPDPEPFPGPHPIPJPKPLPMPNPOPPPQPRPSPTPUPVPWPXPYPZP[P\P]P^P_P`PaPbPcPdPePfPgPhPiPjPkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzP{P|P}P~PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQ Q Q Q Q QQQQQQQQQQQQQQQQQQQ Q!Q"Q#Q$Q%Q&Q'Q(Q)Q*Q+Q,Q-Q.Q/Q0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q:Q;QQ?Q@QAQBQCQDQEQFQGQHQIQJQKQLQMQNQOQPQQQRQSQTQUQVQWQXQYQZQ[Q\Q]Q^Q_Q`QaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQqQrQsQtQuQvQwQxQyQzQ{Q|Q}Q~QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRR R R R R RRRRRRRRRRRRRRRRRRR R!R"R#R$R%R&R'R(R)R*R+R,R-R.R/R0R1R2R3R4R5R6R7R8R9R:R;RR?R@RARBRCRDRERFRGRHRIRJRKRLRMRNRORPRQRRRSRTRURVRWRXRYRZR[R\R]R^R_R`RaRbRcRdReRfRgRhRiRjRkRlRmRnRoRpRqRrRsRtRuRvRwRxRyRzR{R|R}R~RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSS S S S S SSSSSSSSSSSSSSSSSSS S!S"S#S$S%S&S'S(S)S*S+S,S-S.S/S0S1S2S3S4S5S6S7S8S9S:S;SS?S@SASBSCSDSESFSGSHSISJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYSZS[S\S]S^S_S`SaSbScSdSeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzS{S|S}S~SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTT T T T T TTTTTTTTTTTTTTTTTTT T!T"T#T$T%T&T'T(T)T*T+T,T-T.T/T0T1T2T3T4T5T6T7T8T9T:T;TT?T@TATBTCTDTETFTGTHTITJTKTLTMTNTOTPTQTRTSTTTUTVTWTXTYTZT[T\T]T^T_T`TaTbTcTdTeTfTgThTiTjTkTlTmTnToTpTqTrTsTtTuTvTwTxTyTzT{T|T}T~TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUU U U U U UUUUUUUUUUUUUUUUUUU U!U"U#U$U%U&U'U(U)U*U+U,U-U.U/U0U1U2U3U4U5U6U7U8U9U:U;UU?U@UAUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTUUUVUWUXUYUZU[U\U]U^U_U`UaUbUcUdUeUfUgUhUiUjUkUlUmUnUoUpUqUrUsUtUuUvUwUxUyUzU{U|U}U~UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVV V V V V VVVVVVVVVVVVVVVVVVV V!V"V#V$V%V&V'V(V)V*V+V,V-V.V/V0V1V2V3V4V5V6V7V8V9V:V;VV?V@VAVBVCVDVEVFVGVHVIVJVKVLVMVNVOVPVQVRVSVTVUVVVWVXVYVZV[V\V]V^V_V`VaVbVcVdVeVfVgVhViVjVkVlVmVnVoVpVqVrVsVtVuVvVwVxVyVzV{V|V}V~VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWW W W W W WWWWWWWWWWWWWWWWWWW W!W"W#W$W%W&W'W(W)W*W+W,W-W.W/W0W1W2W3W4W5W6W7W8W9W:W;WW?W@WAWBWCWDWEWFWGWHWIWJWKWLWMWNWOWPWQWRWSWTWUWVWWWXWYWZW[W\W]W^W_W`WaWbWcWdWeWfWgWhWiWjWkWlWmWnWoWpWqWrWsWtWuWvWwWxWyWzW{W|W}W~WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXX X X X X XXXXXXXXXXXXXXXXXXX X!X"X#X$X%X&X'X(X)X*X+X,X-X.X/X0X1X2X3X4X5X6X7X8X9X:X;XX?X@XAXBXCXDXEXFXGXHXIXJXKXLXMXNXOXPXQXRXSXTXUXVXWXXXYXZX[X\X]X^X_X`XaXbXcXdXeXfXgXhXiXjXkXlXmXnXoXpXqXrXsXtXuXvXwXxXyXzX{X|X}X~XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYY Y Y Y Y YYYYYYYYYYYYYYYYYYY Y!Y"Y#Y$Y%Y&Y'Y(Y)Y*Y+Y,Y-Y.Y/Y0Y1Y2Y3Y4Y5Y6Y7Y8Y9Y:Y;YY?Y@YAYBYCYDYEYFYGYHYIYJYKYLYMYNYOYPYQYRYSYTYUYVYWYXYYYZY[Y\Y]Y^Y_Y`YaYbYcYdYeYfYgYhYiYjYkYlYmYnYoYpYqYrYsYtYuYvYwYxYyYzY{Y|Y}Y~YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZ Z Z Z Z ZZZZZZZZZZZZZZZZZZZ Z!Z"Z#Z$Z%Z&Z'Z(Z)Z*Z+Z,Z-Z.Z/Z0Z1Z2Z3Z4Z5Z6Z7Z8Z9Z:Z;ZZ?Z@ZAZBZCZDZEZFZGZHZIZJZKZLZMZNZOZPZQZRZSZTZUZVZWZXZYZZZ[Z\Z]Z^Z_Z`ZaZbZcZdZeZfZgZhZiZjZkZlZmZnZoZpZqZrZsZtZuZvZwZxZyZzZ{Z|Z}Z~ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[ [ [ [ [ [[[[[[[[[[[[[[[[[[[ [!["[#[$[%[&['[([)[*[+[,[-[.[/[0[1[2[3[4[5[6[7[8[9[:[;[<[=[>[?[@[A[B[C[D[E[F[G[H[I[J[K[L[M[N[O[P[Q[R[S[T[U[V[W[X[Y[Z[[[\[][^[_[`[a[b[c[d[e[f[g[h[i[j[k[l[m[n[o[p[q[r[s[t[u[v[w[x[y[z[{[|[}[~[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\ \ \ \ \ \\\\\\\\\\\\\\\\\\\ \!\"\#\$\%\&\'\(\)\*\+\,\-\.\/\0\1\2\3\4\5\6\7\8\9\:\;\<\=\>\?\@\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z\[\\\]\^\_\`\a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z\{\|\}\~\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]] ] ] ] ] ]]]]]]]]]]]]]]]]]]] ]!]"]#]$]%]&]'](])]*]+],]-].]/]0]1]2]3]4]5]6]7]8]9]:];]<]=]>]?]@]A]B]C]D]E]F]G]H]I]J]K]L]M]N]O]P]Q]R]S]T]U]V]W]X]Y]Z][]\]]]^]_]`]a]b]c]d]e]f]g]h]i]j]k]l]m]n]o]p]q]r]s]t]u]v]w]x]y]z]{]|]}]~]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^ ^ ^ ^ ^ ^^^^^^^^^^^^^^^^^^^ ^!^"^#^$^%^&^'^(^)^*^+^,^-^.^/^0^1^2^3^4^5^6^7^8^9^:^;^<^=^>^?^@^A^B^C^D^E^F^G^H^I^J^K^L^M^N^O^P^Q^R^S^T^U^V^W^X^Y^Z^[^\^]^^^_^`^a^b^c^d^e^f^g^h^i^j^k^l^m^n^o^p^q^r^s^t^u^v^w^x^y^z^{^|^}^~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^_________ _ _ _ _ ___________________ _!_"_#_$_%_&_'_(_)_*_+_,_-_._/_0_1_2_3_4_5_6_7_8_9_:_;_<_=_>_?_@_A_B_C_D_E_F_G_H_I_J_K_L_M_N_O_P_Q_R_S_T_U_V_W_X_Y_Z_[_\_]_^___`_a_b_c_d_e_f_g_h_i_j_k_l_m_n_o_p_q_r_s_t_u_v_w_x_y_z_{_|_}_~__________________________________________________________________________________________________________________________________````````` ` ` ` ` ``````````````````` `!`"`#`$`%`&`'`(`)`*`+`,`-`.`/`0`1`2`3`4`5`6`7`8`9`:`;`<`=`>`?`@`A`B`C`D`E`F`G`H`I`J`K`L`M`N`O`P`Q`R`S`T`U`V`W`X`Y`Z`[`\`]`^`_```a`b`c`d`e`f`g`h`i`j`k`l`m`n`o`p`q`r`s`t`u`v`w`x`y`z`{`|`}`~``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaa a a a a aaaaaaaaaaaaaaaaaaa a!a"a#a$a%a&a'a(a)a*a+a,a-a.a/a0a1a2a3a4a5a6a7a8a9a:a;aa?a@aAaBaCaDaEaFaGaHaIaJaKaLaMaNaOaPaQaRaSaTaUaVaWaXaYaZa[a\a]a^a_a`aaabacadaeafagahaiajakalamanaoapaqarasatauavawaxayaza{a|a}a~aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbb b b b b bbbbbbbbbbbbbbbbbbb b!b"b#b$b%b&b'b(b)b*b+b,b-b.b/b0b1b2b3b4b5b6b7b8b9b:b;bb?b@bAbBbCbDbEbFbGbHbIbJbKbLbMbNbObPbQbRbSbTbUbVbWbXbYbZb[b\b]b^b_b`babbbcbdbebfbgbhbibjbkblbmbnbobpbqbrbsbtbubvbwbxbybzb{b|b}b~bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccc c c c c ccccccccccccccccccc c!c"c#c$c%c&c'c(c)c*c+c,c-c.c/c0c1c2c3c4c5c6c7c8c9c:c;cc?c@cAcBcCcDcEcFcGcHcIcJcKcLcMcNcOcPcQcRcScTcUcVcWcXcYcZc[c\c]c^c_c`cacbcccdcecfcgchcicjckclcmcncocpcqcrcsctcucvcwcxcyczc{c|c}c~ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddd d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;dd?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeee e e e e eeeeeeeeeeeeeeeeeee e!e"e#e$e%e&e'e(e)e*e+e,e-e.e/e0e1e2e3e4e5e6e7e8e9e:e;ee?e@eAeBeCeDeEeFeGeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWeXeYeZe[e\e]e^e_e`eaebecedeeefegeheiejekelemeneoepeqereseteuevewexeyeze{e|e}e~eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefffffffff f f f f fffffffffffffffffff f!f"f#f$f%f&f'f(f)f*f+f,f-f.f/f0f1f2f3f4f5f6f7f8f9f:f;ff?f@fAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf[f\f]f^f_f`fafbfcfdfefffgfhfifjfkflfmfnfofpfqfrfsftfufvfwfxfyfzf{f|f}f~ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffggggggggg g g g g ggggggggggggggggggg g!g"g#g$g%g&g'g(g)g*g+g,g-g.g/g0g1g2g3g4g5g6g7g8g9g:g;gg?g@gAgBgCgDgEgFgGgHgIgJgKgLgMgNgOgPgQgRgSgTgUgVgWgXgYgZg[g\g]g^g_g`gagbgcgdgegfggghgigjgkglgmgngogpgqgrgsgtgugvgwgxgygzg{g|g}g~gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhh h h h h hhhhhhhhhhhhhhhhhhh h!h"h#h$h%h&h'h(h)h*h+h,h-h.h/h0h1h2h3h4h5h6h7h8h9h:h;hh?h@hAhBhChDhEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh[h\h]h^h_h`hahbhchdhehfhghhhihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzh{h|h}h~hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiii i i i i iiiiiiiiiiiiiiiiiii i!i"i#i$i%i&i'i(i)i*i+i,i-i.i/i0i1i2i3i4i5i6i7i8i9i:i;ii?i@iAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi[i\i]i^i_i`iaibicidieifigihiiijikiliminioipiqirisitiuiviwixiyizi{i|i}i~iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjj j j j j jjjjjjjjjjjjjjjjjjj j!j"j#j$j%j&j'j(j)j*j+j,j-j.j/j0j1j2j3j4j5j6j7j8j9j:j;jj?j@jAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj[j\j]j^j_j`jajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzj{j|j}j~jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkk k k k k kkkkkkkkkkkkkkkkkkk k!k"k#k$k%k&k'k(k)k*k+k,k-k.k/k0k1k2k3k4k5k6k7k8k9k:k;kk?k@kAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk[k\k]k^k_k`kakbkckdkekfkgkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzk{k|k}k~kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklllllllll l l l l lllllllllllllllllll l!l"l#l$l%l&l'l(l)l*l+l,l-l.l/l0l1l2l3l4l5l6l7l8l9l:l;ll?l@lAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl[l\l]l^l_l`lalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzl{l|l}l~llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmm m m m m mmmmmmmmmmmmmmmmmmm m!m"m#m$m%m&m'm(m)m*m+m,m-m.m/m0m1m2m3m4m5m6m7m8m9m:m;mm?m@mAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm[m\m]m^m_m`mambmcmdmemfmgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzm{m|m}m~mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnn n n n n nnnnnnnnnnnnnnnnnnn n!n"n#n$n%n&n'n(n)n*n+n,n-n.n/n0n1n2n3n4n5n6n7n8n9n:n;nn?n@nAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnRnSnTnUnVnWnXnYnZn[n\n]n^n_n`nanbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynzn{n|n}n~nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooo o o o o ooooooooooooooooooo o!o"o#o$o%o&o'o(o)o*o+o,o-o.o/o0o1o2o3o4o5o6o7o8o9o:o;oo?o@oAoBoCoDoEoFoGoHoIoJoKoLoMoNoOoPoQoRoSoToUoVoWoXoYoZo[o\o]o^o_o`oaobocodoeofogohoiojokolomonooopoqorosotouovowoxoyozo{o|o}o~ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppp p p p p ppppppppppppppppppp p!p"p#p$p%p&p'p(p)p*p+p,p-p.p/p0p1p2p3p4p5p6p7p8p9p:p;pp?p@pApBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp[p\p]p^p_p`papbpcpdpepfpgphpipjpkplpmpnpopppqprpsptpupvpwpxpypzp{p|p}p~ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqq q q q q qqqqqqqqqqqqqqqqqqq q!q"q#q$q%q&q'q(q)q*q+q,q-q.q/q0q1q2q3q4q5q6q7q8q9q:q;qq?q@qAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSqTqUqVqWqXqYqZq[q\q]q^q_q`qaqbqcqdqeqfqgqhqiqjqkqlqmqnqoqpqqqrqsqtquqvqwqxqyqzq{q|q}q~qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrr r r r r rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;rr?r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzr{r|r}r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsssssssss s s s s sssssssssssssssssss s!s"s#s$s%s&s's(s)s*s+s,s-s.s/s0s1s2s3s4s5s6s7s8s9s:s;ss?s@sAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs[s\s]s^s_s`sasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszs{s|s}s~ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttt t t t t ttttttttttttttttttt t!t"t#t$t%t&t't(t)t*t+t,t-t.t/t0t1t2t3t4t5t6t7t8t9t:t;tt?t@tAtBtCtDtEtFtGtHtItJtKtLtMtNtOtPtQtRtStTtUtVtWtXtYtZt[t\t]t^t_t`tatbtctdtetftgthtitjtktltmtntotptqtrtstttutvtwtxtytzt{t|t}t~ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuu u u u u uuuuuuuuuuuuuuuuuuu u!u"u#u$u%u&u'u(u)u*u+u,u-u.u/u0u1u2u3u4u5u6u7u8u9u:u;uu?u@uAuBuCuDuEuFuGuHuIuJuKuLuMuNuOuPuQuRuSuTuUuVuWuXuYuZu[u\u]u^u_u`uaubucudueufuguhuiujukulumunuoupuqurusutuuuvuwuxuyuzu{u|u}u~uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvv v v v v vvvvvvvvvvvvvvvvvvv v!v"v#v$v%v&v'v(v)v*v+v,v-v.v/v0v1v2v3v4v5v6v7v8v9v:v;vv?v@vAvBvCvDvEvFvGvHvIvJvKvLvMvNvOvPvQvRvSvTvUvVvWvXvYvZv[v\v]v^v_v`vavbvcvdvevfvgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzv{v|v}v~vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwww w w w w wwwwwwwwwwwwwwwwwww w!w"w#w$w%w&w'w(w)w*w+w,w-w.w/w0w1w2w3w4w5w6w7w8w9w:w;ww?w@wAwBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw[w\w]w^w_w`wawbwcwdwewfwgwhwiwjwkwlwmwnwowpwqwrwswtwuwvwwwxwywzw{w|w}w~wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxx x x x x xxxxxxxxxxxxxxxxxxx x!x"x#x$x%x&x'x(x)x*x+x,x-x.x/x0x1x2x3x4x5x6x7x8x9x:x;xx?x@xAxBxCxDxExFxGxHxIxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx[x\x]x^x_x`xaxbxcxdxexfxgxhxixjxkxlxmxnxoxpxqxrxsxtxuxvxwxxxyxzx{x|x}x~xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyy y y y y yyyyyyyyyyyyyyyyyyy y!y"y#y$y%y&y'y(y)y*y+y,y-y.y/y0y1y2y3y4y5y6y7y8y9y:y;yy?y@yAyByCyDyEyFyGyHyIyJyKyLyMyNyOyPyQyRySyTyUyVyWyXyYyZy[y\y]y^y_y`yaybycydyeyfygyhyiyjykylymynyoypyqyrysytyuyvywyxyyyzy{y|y}y~yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzz z z z z zzzzzzzzzzzzzzzzzzz z!z"z#z$z%z&z'z(z)z*z+z,z-z.z/z0z1z2z3z4z5z6z7z8z9z:z;zz?z@zAzBzCzDzEzFzGzHzIzJzKzLzMzNzOzPzQzRzSzTzUzVzWzXzYzZz[z\z]z^z_z`zazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzzz{z|z}z~zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{ { { { { {{{{{{{{{{{{{{{{{{{ {!{"{#{${%{&{'{({){*{+{,{-{.{/{0{1{2{3{4{5{6{7{8{9{:{;{<{={>{?{@{A{B{C{D{E{F{G{H{I{J{K{L{M{N{O{P{Q{R{S{T{U{V{W{X{Y{Z{[{\{]{^{_{`{a{b{c{d{e{f{g{h{i{j{k{l{m{n{o{p{q{r{s{t{u{v{w{x{y{z{{{|{}{~{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||||||||| | | | | ||||||||||||||||||| |!|"|#|$|%|&|'|(|)|*|+|,|-|.|/|0|1|2|3|4|5|6|7|8|9|:|;|<|=|>|?|@|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|[|\|]|^|_|`|a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|{|||}|~||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}}}}}}}} } } } } }}}}}}}}}}}}}}}}}}} }!}"}#}$}%}&}'}(})}*}+},}-}.}/}0}1}2}3}4}5}6}7}8}9}:};}<}=}>}?}@}A}B}C}D}E}F}G}H}I}J}K}L}M}N}O}P}Q}R}S}T}U}V}W}X}Y}Z}[}\}]}^}_}`}a}b}c}d}e}f}g}h}i}j}k}l}m}n}o}p}q}r}s}t}u}v}w}x}y}z}{}|}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~ ~ ~ ~ ~ ~~~~~~~~~~~~~~~~~~~ ~!~"~#~$~%~&~'~(~)~*~+~,~-~.~/~0~1~2~3~4~5~6~7~8~9~:~;~<~=~>~?~@~A~B~C~D~E~F~G~H~I~J~K~L~M~N~O~P~Q~R~S~T~U~V~W~X~Y~Z~[~\~]~^~_~`~a~b~c~d~e~f~g~h~i~j~k~l~m~n~o~p~q~r~s~t~u~v~w~x~y~z~{~|~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€ÀĀŀƀǀȀɀʀˀ̀̀΀πЀрҀӀԀՀր׀؀ـڀۀ܀݀ހ߀  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÁāŁƁǁȁɁʁˁ́́΁ρЁсҁӁԁՁցׁ؁فځہ܁݁ށ߁  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~‚ÂĂłƂǂȂɂʂ˂̂͂΂ςЂт҂ӂԂՂւׂ؂قڂۂ܂݂ނ߂  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ƒÃăŃƃǃȃɃʃ˃̃̓΃σЃу҃ӃԃՃփ׃؃كڃۃ܃݃ރ߃  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~„ÄĄńƄDŽȄɄʄ˄̄̈́΄τЄф҄ӄԄՄքׄ؄لڄۄ܄݄ބ߄  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~…ÅąŅƅDžȅɅʅ˅̅ͅ΅υЅх҅ӅԅՅօׅ؅مڅۅ܅݅ޅ߅  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~†ÆĆņƆdžȆɆʆˆ̆͆ΆφІц҆ӆԆՆֆ׆؆نچۆ܆݆ކ߆  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~‡ÇćŇƇLJȇɇʇˇ͇̇·χЇч҇ӇԇՇևׇ؇هڇۇ܇݇އ߇  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ˆÈĈňƈLjȈɈʈˈ͈̈ΈψЈш҈ӈԈՈֈ׈؈وڈۈ܈݈ވ߈  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~‰ÉĉʼnƉljȉɉʉˉ͉̉ΉωЉщ҉ӉԉՉ։׉؉ىډۉ܉݉މ߉  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzuq~;ST/BB{6"cN[]W? ^??:ٗD ak?g6 P? ؽ=Ќq5">'!;+8ý(-d?׎Y?FRLǿH~bB\L䮀5 C?R?u,q?#]lѾWÆ=,1\ڶ`?n\`?HM7¿'=֔ ]7?r{)"NX ͪtAo'ӿ$Fw=Y:l=E}$=2#o"=t!Y=lbs^>"baV>fxI>OAe>D$ >IBjg!>'e*XT">5">uN#>)G4}#>sL_w#>bTF;#>.>">l,(">0dV!>5ְf >thk>X > >6>ZXb{>y>':>*J/?sE#U?‚<>w?&? i`ӫ?>s=5=:=-\=cv=/K-=G!.=x"N=N}*=3ٞھ=2=&z=5==>qZ=l#>ҍd|z>'>{߿|>Ӥu|8/? U?5*D;_)w?Û{?9i6?4~B?뺫TS?{T,`?}Zh?R𱨩q?.y?~<΁?>bH?'f:M?ydĘ?zAd?PY4n?򑟝(?b0k?+@[?&WEs?*C?Q%|~A?M読u?X N]?”?si08?u {?Mq?ZnOx?*3?7A?YI?M17?{?%?`DV?#D?Rfw?-q?5C,? $K?7jtG?A ?v:g?\pl?W@V.?s??? a?IӍBt@LNZ@&Z!@wZw@E8j @-NF7 @:4Z @/ @]Tdu @[ L @ 7Ł@#ps@ 7@7?/)?e,?Щ?gH?3ɩ?ro7? -s[a(?ɣ)?4b?uO?x̎?ޘlRb?UpHx?rn#q?>kg?#- 9_?58,R?\rA?ޞL -?- U?(o?GI??d?"O?Ph?[x?+?g7U)?Sd~+?YXi?n/)ܼ?>`# @66B@;@/R-@X@f\+g@\@ x@*4J@7j*@/[@0ʔ@a,,@SEdE@~XE@삦(?|8?ow?tݏ^-?d xu?F>?ADþ?hYv?&'e B? Ĝ9? C?QF?S) j/?/m?.?V|BA?О?'?R6k?0;?wz7J̅?PO!?C=?N/9z4?\"?$.5?WZ_?Bu?TMȿcѿdݧԿտwZmҿ%Ӹ=?pqB0N??t|?7?_a?h?5B6?@?i-?u%ϙ?癴N?BQ1|?e?3?mP43?ӈ?=k䆪?Xk?17Pcۉ?Vu?,N l?=Vh0?kt i?y+^Ͱ? J|?ГѺ?uTc?9s?b?Q?(Y ?yh>?ݕX?T`7P6}?J{Ag?li?Hm%ә?SE?NYЖ?w/?CV ??W5?IJiF֍?U?]DMh?~?;1=^?:ydCj?6m݃?v%J?Z?O]cc?VԌi?e=Yo?`jDsr?su? Ѓx?9z?X'qd|?kJ*0?`$?>m^?-=?+%r-?WA¨?!? eA??9+ ?1v{?h5?7M?iW?Z{g?{[XZ?bb?E8i?d|?ED?F08^b?s?%v? j?-ǵ?i.P?kou?*"^? ;5??1(ԁ?m^o?7&q"{?l0w?TcU s?Hal?7Bgc?7{(T {S?;='K=g=G =F}eB=Y`=ަ=]yf=Y6=ęE =N2E@=oqL|=1Jo0=d~>>\^=Ǜ}DrK>Mu޻>9ڪ >ErC!>Ҝ!>IA">?e"#>Pbk#>p[#>'z{_#>h #>H">waܲ!>| [ >2p>I`>P=jaIÝ=Zρ>DEV:O>gDT˝>?WQ>?CRLS;C?vJg?=?*?v?j>;}>M8 =z2`=ec=ɞU=GAKC=Jg{=~w?M=yKy=T#z=a/ʟ]=Aъ?=@Ø=p=OVc:>P>S;!諝>>>_ci?* 9(C?dsQ2g?#zrх?sbT4̠?!O?@za2?8怟L?\&+Y?򹨻c?\~km?~u?^̪}?!s#?ה?Lsg?c?jy ?VKnL?5,&o*?H?R%?K1?YG?gR'.*o? i:?ϫG?9~d^B?l/.?yG]?-[@d@ԕ1@&֠@V@؉ @ t) @;Ŭ @ @' @D"E{@ҁv"b@1W%O@ruך@N?D(?i?%?TSي`?CE)*?n ~?E \?w?a6?jb$A*?8*8?1c6}?t?M'āl?FɲNc?Ç[޾X?v]K?.찭1?":O[?0FP?VPR?vX? ?׸J!?S|?{N?6%w?zH?.Op?.B:??-gq?,4@1@Rw@H@-O@K^mp@4ײM@7c<@^DbQ @|&9@@-v@ckH@ڒA!@Kdx@8?P 9?T?LR]]?5@V?,?*a?0?F@Y?b?G5?uf?~Ѧ?c9r?k?An]? ?V ?A;?ooC?i8z?$BJi?"ڢ5$?G?~?LLy?9##?s?z?QyъjmͿ}+nZӿ"տ_ "Կd!! h̿p>l?R$??ٯ?֋(?rDv?NF&? j%?,EG? =j?9@Oh?p@?^Yr?%E*O?iIj? r+?)r?ZQr?uqʑv?6Y?Oa'??<$_?T!:?1?KB3%㹽?R,?6c\o=?9T?Ь? ]?5ˮ?aUw=?F7⪿P*drd ?Or?ə?Ml?K6[ӗ?ſ?xkvȗ?F>"s?a4_x?նU?] ,Ż: >=oU>fzZ >^5>z,=46>,+M}>įp>"*>#W8?rn#?7=?lҽR?P3>Ǝ82[>d"=S6˽oVpCؽ-ރֽm  ӽN>ͽA Ľ:Jbh===6r=ђ =K=iO8  ƬoP>Ye>wY>?ɛnGE?xi?3z[b?ux? +V?͌Ϙ)R6sk!}~3b +I: d ML#)tūq۽:[Tӽ<L ν,e)ǽA0NUĽ>aP%>7'|Xl8O`<%RD\Uhcdž0UwޝvS.5=M {4L貾 % (Stj!6vC:-2~uPvY^We?'(ei?co?+}Ђ t?B0$|?<3?])"m? z?܅KǙ?r?S?Q9'7?h?x?2"~tA[?gi|=l?YS9r?Wx?ED?XqP?q,͈?y L? 38?0ZT}? 6? mWM?7|?nz?06Rq?S/$T?z?d榌ި?1Œ?t+ ?!yT?!~\? ?AV?xm=۬?Q{?V_-s?fө?lK>k?;?/Bna!?UO֩?Kk?cۀ?Y?Ep%/?;@G?DA?E4/6?޶3?"F\[=R͒cW 𼿏^QVkÿ›ſb|?O?;gʳf?:Y~r?']?K@ff?>t?4XN?o3³b?:?b^q?&<@,[0@ ? @vlA@Xyſ+@#v ׸@st@@m;@p;@@v+@mwѰ?&?rNe?p1?.6؟?@c?y7Xɘҷ,.m.ﰿ jC@!Vt-ffG∿9q ⁿ<ysr $lU gd)dGcetMlοC|.Dҿ\?!<׿Nܿ Surڈ9_tў.sS?u*s55qO{,KwTHDᇿ{і/Tx'W1iʥ?c?!?=i?_Q.ʰ??q-N? cib?@ )?Y_tf?]?6u R?/Ҟ?8V?z#?Ε?ȶ?vzW'? [?\OMx?lˊ? ek?V2? Tu?? ߘ?n<7~?dE,z?֢v?$t?[r?Rq?#?y_wQa?Bz?˯:\/RHvt1]|M|}zo|%)hqzݪ55vxeX.vq't#y)2qr^m<q3@p-jwn?imqZD=p?hp?EE p?0jn?ܧre2l?ݗbi?e?-kca?0Z?sEN?`ֻg"%?NEqr|Y̟dhpٜr%?Ϥpt2Xgv1AxiF$z[L|>~m3OTV.%fQłKM|M`@#;M)!MD{ J$MZl{}#3ܖLfE=mI0~ƆjH:]*䅿Md̛/1䄿іCk@FbEOF cS^:m"p=gWz=p~=%q^=A=[=;=޸ +=G=s+썟=(rh*>`SO>ײ>}va>a.r)>&u6fT=$ WIX>јڽ>q?> >=]V?,lT91? G?c=\?dMG17-W=$< jF佂A]ݽ{ؽN'սxѽ`ɽԫ d5|y0p=`&,S=ZW=b/=bV=^!Mk==Qh=h9eH=O+]=Z$+jڐ* >i> ᥿>N S>&g*1?Y7X?}$y??]02?dлT?w'`?UZ<)/B~qXQ pA)U5}k!vipޮۛ{IV1(g߽u*׽9F6ѽʽ~sŽ~ý̈G=:h,P㾾O:|M0ܟW#xI#5!<+ܢpVn=J:*I#m@Vrߛ(K$ɾq8G7 k/;EyY+' je?> JQg?8)&+l?֚zr? px?:`?$F?ug[Q?FZѕ?ix?zVO?D ׭?21?k.O?9:?]^Ch?ROJeYp?v{Ԙu?{?!ҁ?vN?Tnjw?ѵp?8fkޓ? j^?M? 2G>?X?A?We?5vކ?!2X? %ϫ?'X? a߃? $G[1|Q9 jEɔG=vݴD?¿戮ĿCƿol%i?N-?ab?0??"2tL?*&wR-? BѰ?R~c? Yn?i/\To!?Ã,?wy@@qKV@ 8׮@ c@~@DP,@@w;@@R'H@p,@ݱ @ ?JXM?LZ?#]?snK"?ô`?0?vZvÿytB +w ˖@ >7qOߨ蜿Դ-PjN?&zh~N#2vpTvv,iVeHb0G0ʿпjvEcտ8ڿ,|߿ 4Ll[B꿠M/(e^/ 㒍u*?7VȐ:3)כij|'^3e>Ã/}H9h)aP<]aw{w2í;1BL+ejA%Lp虓rt.y^W~g{b"7Y^3vK}ӍЋ !/q8~ŚÚJ}0)ڝx{@HIY̢X>ers GꦿI^j$jk9 쨿ժ MZHcӨ2)MMT40LJX\orῒ)pj1ڿTXԿs\Ͽǿde¿PPwlxEz=2d~g{lZ@A-訿*9|5"V*[R>M c*{,>![ 3zi$"{JBа쿔r+Q N3m'^׿N!Zοtf⚻~/^?4"^27eЖ\2>IٿMѿsh6ɿk.%8_ѹ+Ϙsu/s醮f4Fnc}䅓pHRR񵈿 e!-;s`M@ !0\M>yKq,iQj Ĺb2-`qf_q䓿kzhDt |ej[9s͛ㆿ]JB=T')n7jWUe?y#2t?8KG?M*?\MF? J?U$bT?M? ȺB?/?E@?.м?k-?k^g?!cv5H?Zz4?e6?ͨ?>c+?fS3Z?'[wb?;3^?_#Ɏ?ҔKe:?IZ$T?kT?z.!gJ?h |?8Fyx? c~u?e%{s?3;L(!r?-FIq?(ӷ?:?M Eċ?K1Z?;w](p>wlz@>6}Hr}87{/yzLw`P!u%#iAsbX pq#1$pge[,oT*_m?` m+ q?7cp?HH]p?xV|19Qo?˰`m?w3j?`6g?Umc?J/_?i@+T?"#A?N^0d9R `>T{AhY,A=n:$zq"ѝhs<=u-UB/w4m'Zyѧ{xEK}iw(t:{{zǞd*b"g҃앂 rA:!'Tz0NQ+BKXs[%IJp@>)RNPW(2gT+$ێZ"~s3⤅ #{l϶s31TЃEa 2G×LY0̾a =2Gu6>YP|>:@ȳ>X*@>!rz?GI!?`9?MO?|*eUB>g-7>q;謷>$g?k C?]7Ug?sԄ?K?r;R9?A #@˖ݵo?9- bw^C1Kfi 0$) 󅱿$׺K8 X4nNzphR(N]n޾g\a,6OθV68Kbj‡a?K}Pd?NCx9Ni?knfp? ?,fhlġ?^K?~?]8Ʌ?bx6e(?;]U;}?>'?mk?`ᾣ?nO}?ͧ>?>p|^(CԿE tҡ;a'O>{ߦfKi"dhm[+4I@Sg湿s.g_(د swOvKʼnؒX>ө㊿'u ={ʗt_xmkTV^~f,ka(e^hlƿ<@˿JBkпW7+Կ> +׿"Xۿp1߿A ήῼGDHhj?S'忮$;濞` (K]V迁Z 翛}7QE濍Iy+/-+yٿ!пUmkZM?{S?r?*kn?r?6?ؚ#0?QC@b[ZfPWOrkww{pŗsvYv`zxSzC~z}"퀿+ӂ8Mדڊo`+ o~S*aObe84~,ߋ16$/V\Γq|芿\9y 6UuLy3 V\+}LTw76krZz%ho$o?}5 ЎB?lޓ?PZC?^f>?SĽz?M?7jꆥ?XdL?C~?bI;t?Հέ\?vrR'\XSKQ?3$??)J??p ?$#o?d!?pqs? ?|)2??/5*ZQ?Xo?!G+?vd'4?}H?IVg?ZX(6?? E?ZT"O?jZ|?VPn?Y?p?3 ??VOe?8xr?4h?m?l'?T/?9s;/?4#Չ?富?fU:u?Ό[d?rBbS?Ql?Tu?0{?J~?(G?:j?=/j~?B{?߰rbx? ~u?Pr?iٴam?<rMg?td;`?>2T?5C?廦N#Ѭ2anLrh.qsRC9Bq&f /O?ԺЧ\8% vU<[*.7Sƿ$Bο%؃_ҿ[m'dVk [;_-JLJVaazT-avg_q6[Z'UIb*Pe8uIFǟ;2x6)YK5?oA ʘ>q>̖q>M?l)JV.? &[%^D?t3W?}@>@k>[q>-hG7>ӏm0?ΰSV?4)1v?F) vvbxDݧ D˹>L1=)%XCWmU'̖.ȾԂ^b`A_֬+'/: )BsTv`? b?_f??l?TJs?Wy?d)XBہ?=_?_Q4??b à?lq?eJ^޲h?3u+?ˊ9g?f(@c?bc7Xi?zTp? ͖t?+jPy?[~?<m?Y?B,?_cKH??)@א?_?j^?|]Z?Om?:-?\J?)?D#? k?v@V)?@ЁJ?h#F?ԁ,~?w]Hv?Kƞ|o?b?w!P?3rE<ҧ8@?mW2?1Qq?E0?Ā/?&0Н?8?r y2?<?DwNi?ϐ?l 1ZO0)bؽ7ⲿK==Cb&! BThǧ?]P?ԉc;?yѫѴ? 7~?[/|?渠;?1k\?4z?Tr?˳R2[?ށ8$tW?kv?l?' 贽??m?V ?*O?dP?oe0,?ꉠy(ʿofMۿC A俶MAti+ P t&tOѸ^WJ鿿릙WI5ܴԵs%8L\ xԜ^ϳ8S ӏvU׻oM,n|w5@3qn7Xi[.Bcݰl`y݆:],cĿ~\<ɿLsοɊ3hsvҿ1~տ=RSwٿņ?Bݿ@{Fzyɲ?adf? ?'8Y?d?NĎ?]u? |?!^eo?7򼭯S?*gX Rc?Y\Vr?lhzx?׋\R|?)K+?Rf°?-TB~?f|?jtcz?;Vw?pvt?dn3p?A^j?OyŅc?' CZ?8$`N? ߜ2?g8DK@W!jxۄJYW"e,/Kl=ܰoBFGcn@g4c_:ÿܱ2oʿ 9 ѿI>OsԿ׾P[D-w`xίtaϭ `e F]AXR~W,KCA`Iߚ3L₱3>}loea? y#?7'|iz#??"?}(+?+ÿ㌅fP` ] d? ?T(?B[Ĕ?Nj?NL:A??I.?j 5?ޱ?Z ~?C x? mr?^}6h?7Y0\?㞙xB?35+>B;r>UHtŹ>U*I>Z\T@&?DlLO?OŒp?7? .?&% #@?/J?yS?ܭ\?̦d?A6m?˩t?zmV|?xMW?QI`?tEg? 2?5Σ?88> d?Ѕ>]>dnf?\2?qY?iϜ,{??EsD?d/mSr?POjm?N10?a[B?h?f}?h?)I?0? _q?j*? F粦?x%?y \?R0`?-/1?6 B_=&_yk=[B>'>=B>{iX>lԮ>mm?C "?V]t?B ?B"A?.޲ ?7H|?0.M6t?̝l? mm,d?QA|a5\?Qq= cS?8I?`<:??εk-?߅?H{i?|??JO,?)s?Bl*?sgk?+M)@?U?OBC?]tԕ?z ݖ?k?d?;AG@+@A@W]G@]i{c@/aw@sL@ @~y?`f%?(!w?]?w?=au?FCÙ?EE*?Ӡn?8ì?]c6?@s?+??z?D? Ly6?? ?)A?Do?Z?o_Gl?jD?1?1!B?څ?!a̓?Ȗ_?\ ?b3B?>\?YCVA?f?kB6w?;=m?Y;;m?{Q@jHT@1]iG @c e6' @W7um @\m1g! @`sL @Nc @./< @x?-wS~s?Ջ镂m?Wzc?A`S?%?"oIK?:aw?V`#aۉ?۷?)s·?E2L?U ?9b?6 >{C^?sػ?Sh ?z2-?ұ{?-H?х?W?A%[uۄ?B-:HZ,*D?퐮쒕?7.l?t8/?U\/;?b>?<(?[ :}.?Hdu؎?~׋?-?^?\>Vj?o?@?WN]?z7S?ɾT? Wl?VQ)h?aEU?_B]?k ?1mp?,]U?7?eiɞ?:eÉ?Ha3Wu?L?l*R?3N$h?X}}J?.i;_Z?zc?%6i?R뉈p?_r?!ebu?Yx?njvz?/<}?Db?qԀ?#^v߁?Ϯ"?=Х=0Z3>BkNܚ=9nTw>T?2>o!>_>4p>I>\2> g*?%k>ZJRR?Ly;?>5sKs?18?ƻ?N0?`ln7?9RE??]P?X?óPa?pr ch?FRKXq?3vix?%A(?j?}>?ʝYʗ?z1?}Lz?H-j4>X94>3q>+:>ʢ*>]>/1 ?/+?#V1?z1?5W?0HW?H)Cy?.1y?ie_?V,K?9U7?G_\b/a?Jv?8k?AV?R?QW_?a_? &[]?~~ar?rz9?lo7?OIA?5xT?).riv?;R?PK?G.E?d?Eњ%N?G?s[K3>X=υo w>5" =vE>򀖅2>!3!>!;;N*?uF܃1W>A,{R?K?>b9s?#S>V?Jn?A;V?J?D?4\t?(*JuЇ?ʛL?8Ʊxx?d*q?A9- h?dIh`?uϔtW?b*HO?/7ZD?Zf ʨ6?dr?<:i9?g_#?oA?fȎ?:P<5cAH?,?򫞢P?%`u? XT?q]ޗ?rXZ?,ͷ~W?q:Ķ`?`?oP?ܔd?Osm?݇+0h?n?2_m?Q1W(?qbvq?)M?,h-t?0ŋ{?/Hv?.zsx@+y?L;O@p ~]m|? "G@*]~?2@͹&?xxC.@G?bA4@Ո A?M@$ʐY?_t@ r?Q7\@Hg?bG@6?Qf*@ ?lZS?FzC? br?L J?#_R|?ȢA X~?*A(?S{?F?|[]y?0O oX?ݨ?%}@t?BN?uC?%jg?V?x: ?taʮu?|1:k?h?޺?k?}2*?/|m+Tdk?8谿AB?by cWo?dK??7 ;??Y>QW?tT?f5?MlV?dI؎?zKjW ?K?Q??]b?ퟢ?ؑ=?g"?K5?$e+?6wW?Ş??XX {R?CKF?C ^?!?eI?Io֙?57L?`O?56*?@RQCL@?NH@AsJ @I|k2 @8G9A @"J8RjG @l˻2 @ G @xR @`nyIr @Jp@F)@fWcG@jQ@ #V@ow-?c\?duF-_?r?s?ZJ^?r?:)N#?%? ׆?ZU0=?I?^1E?+P??(N7?Tb;G?"l_H>?7?]~eC? ?!eH?x?c]N?RD?hgR?jN?u.V?n?&I[?M5?Pt j`? W7ⰹ@y0w=?'*@a?lq?(jxOY?Xo?yP wC?^ks?S?W ?1ގ?夲2yQ?,˿I?D 5?T?pHh=?SM d?{g;I?x ?R~ˬ?Ͳ{OZ?K4}?JP?6zz?eO|?-;qw?wNJ?nVt?!̞?J!Wq?y ?)m?M.?/ צ{Ah?ʧ?\d?2*?ASx2s`?URO?K[?L|?};=;V?s?4S:oR?hgp'?r 6N?6L?sJ?>U?ɶGG??Em?E?͕㲉?02?s?Gt?V9?ń?'?;o>G?~? TXLz?LWsPdq?m??ۉ?C%&‡?2?u`?}??cR? BFj'M?yq¿?ŕZɿ.K4j? ̿/?D1ʿPUsD?*,ÿaJ%c<n]?!3ӑ?m>1?zm#E? ??JE?2? %? DE?$G?}p%?KsSMT?~ş?%<-d?2%?ONA9?ϛ闘s?Ct^.?It5p? ?ĝ}Dk??3?*:g?-?GEb?{@a?s_?>_g H?$7~Y??B$T?8&?GOQ?B.G?O^L?KQ M?VSup> kʡ>>t[Ȯ^>zͅ? 5>8zh>htk͎> ?DJai2?=}X Y?Su<{?E?oj֒j+>Ƹclr>@j>3~>;)&?)*O?xp?(kۋ?}64KVJ?R90R?\X?]qzL`?,/e?Ck k?Bp?Ft?T4T$My?i% +~?CQFl?IRmqs?E@hE?:?D5̌?݇T?2Y2ː?˩?&0z?`A~?.?S38k ?ٜyyz͒?39?Te%k?uPm? 'f?mP,^?)3t?+秇?HVgZ?}:v{?Wj"d>=\>U Z#?CR;?pn 40`?/b.?;?rjB8? aI?;U?I.=״_?Wg?Vafp?;2w?r]W?q?.1P$?ϓy?'@۟? 2Z`?C(gKp?n{={HLyHLӋ'ҊbS E@N_ *Cٿ qT:m֮PxڪqA"Pv!<e_0=B&L>2I?>}>Ű=?ndxIF? k?1u}}?tsr?cxRFй?:E?#Pp4?Dqe̘?/D`?nG'?Sݖ?K'? ~?ӛ?8"{?N ?чOGl?kֿ?'z^6?ʢϬa>U4'>R _>*@δ>S>?JJ!?76?>ٵ5/?Ө驪?eޔg?z>%ӏ?$R?)HM?N~v? Yxo?ZkI^f?K鐿^?u_T?YH?Me7?5.G8F?Q1}W? _Gc? wp[q@@e@Yi@q}= @>t$ @ . @3> @' @CjW @2 @d` @Qk]@$@x5@غltp@liC?I:?wh?N:>?ɀM?_Tqۧ?>oH?ب ?yLf?zygk?H1Db?2?(A{m?] |?a?3xP.?ʲ;??/J?ԥ;۠?F;?$vQ??р?! ?:ܵ@I,)B@z `@$0.gk @M @ɳ, @)'- @\N @s. @Y @/MТ@j(@Tw@1@!`+ԕ@t?!ZJ4?n 5?dr?p?iA?/pa?C+!?\?o?._ȫ?h? /?<}t1|?|s&s?ykzAk? V a?x?Q2&g?"3?'Zк?FN?RW?Cr?)Dx ?"]?>?^f?y-?J?-?EgXJ?cL?&IN? ?ׯ~)x-?>7?bŽ?Aդ?3c?jr'?q?=5i?}ų+1?6dz? v?hJ/r?Ӻom?T^!c?!ߓS?~'z?j@=?Y͡?buEsp?Hs?]I0,?i]ӆ?֗T?fA5?}n ?RF Q?uB? 1E?) #?`ʶ8?f]??v}?6?z'?"~V>ˉ?}M,W?0bk?F_*?(V߈?AnQ?fZ/?(v2ṫ?:fc?U>?Ho?F ?j~?R?.S?adt@,չAho?5(J?NU9?U %?䘞?D?7fג?}rz 6ەg7$d+RvrޣA a8 ǽA6н郕wֽ=gR&P/`孯ۡ|=N[6;>Bk* >xո><@uQ>4夺>d3>K蓙*?\>8ƴ3@?g&W2%>$IYc?Q76>6{?9?.Vb|?˽'?|9xM!N>v4>|>':>0!Tj> ?-H͙I?IJD?D?Ni_Fi?)n+i?*ˇ?(? fCU?`A>?3? 4?pn?éN?Br"9?<ֆS?:*8?`0:?䎟Z??EG?e:?U?? -?țAE?g<|(?[6?&ב˻? t/o?/&׷?Y-9nɽ罕\ \pֽr9нރƽD8(pPyF>ŚҦI쳯YNsgﻂO{~$ich1:>cϑs=8>s"< >߂H~>x~JkQ>?9_>#@?l#|>zc?֛Y>!e?f[ko>S"T?Y8??}Cl?iP?,?.J7瓚?R:?Kъ?O>?A*z?Nks?~Jj?8?b?N&L1Y?!$P?M[A?!|'?"G5?P٦Q?>@ZO^?Cg?6Jq?*y?Z ځ?>H.?wGȧ?쩡3?z?;ݫ?vKo=?&gs7?_?N0>?$=?I eD?hҥi'?K?a5?r^R?L2?n徦DW?)=p=?gݭ]? ?[$їb?VFf'? Jf?1?bHOk? \=pi?t6&p?41?Wb*r?ď&?/u?^ZNwS?so [x?o`au@{?ދQ@Mqp}?iK1ɓ@`nW ?L:}˼@T>)?5`@}?=Û*@`NoB?}@ ?kgQ @Tq?P,f@j>̂?#z@d՞[?62K@na @!?}3'?ˀ?)6(?}?FUG%?S X%}?sT?v篕]z?X?F7x?X?T7oGI?' <?^?4z?ESR ?m׼7??l? F?ï G? oG?*G_?‡ۼ??)6=+/?d?;?*I 1?|So0?5cE@ k/S@( u@Pa @{U m9 @=s @:i? @ˆ @>6 @X?XE @ng@U&F@ȫ@ :@SEw?t,t[ ? T??k{?!F?nR ?AGG?J?}7o?Guy(?C1QZ~<?P[dBv?ub?w?Ŀi?#x ?nc?s)z?B?Y\A?oBt5??($?r5?LlM?`?V9 ?V?SE?9e?`e/?L c)?߯??*HX?l5?>'?9r?|DSp#?[ğ˾?_|E?#5?\h9?MdI?EB?O-?(/5@HҵG@v4{@ɫ@NN @Pu @r 0 @oP @;ą @%*֣ @orze@*v@ET@–@j@|o]?̾ H?LJaW?b+?=k?~w4?#?>h\?Gi?lw? Cn?Fښf?|^? ?[Q?h/5#71? {?F\\k?|_?Jġ?wŐ? ozŇ?̀?߹@w?Fep?l5f?s_CnK?(E1?2Q?&j? t&T?XKGW?HLzU3Y?} oL?Ed$^?ݵP?Hބa? ?AKEd? <} ?9>!h?T0C7?Y&k?Y~?o\?<2)9?ڕVՄ?qZI?QI 3? sw?7]S?X??SU-?)(?E0M?ֶ?Ud&?2Hn?1t?$2Q?耨 B?Q)?dS3j?Hܺ?l"{G)?e;#?Gs?d=?H:_ te?,X? 2k?c0ك?tҝ\?WkUR?Bv_~? ҄a?:Ӗ{?֞?cYx?$?:cI?{=Ɉ?'+^ ?o?3܅?cJ o?*PB΂??ͤTt ~?뚓y? 3yu?*p?…Nh?XQ]?O ֠C?8Ne]?lN?WEy?-P?cIy۹?Aì vE?=?1Y۽?tB?l?˯Uby??9͇hK?w,y?eǿl2w?W乿`H?9fx?XLJoa!{b>܍>5{->9A\>\!?%Y^|"?P^M>"T>#y>}c?sNmcF?5.k?2뙉?ͻ?F \:4>\#EH>&>%|̼?n^5;?_>|`?o?q ?. O?[>4U?鉂yb\?߂sb?"g?;;hVn?WKr?~*w?E*7{? $O_?uZ!?ej2ۅ?!W?z[-t?\ ?in@?o*|K?#??9vS?{m0? i|?M7?ȑZّ?7?U0;?']?Bӊ?yqM0f??#Xt7?na>?[??L L?H?mP?e e?rH?6+?Xwp?X.?V$dG@Xjww@N& i@D\sQ@T2xzW?(v3?αN?Sā?s?4& ?q<9D?N9?<=?,E ?F ?9N?$)Ȥ?P`C?9U&^?C?_Q5?L?iF4@GX@@ @+p@rr/Za@C3&@ƃ\@çk?t?7?^[]? v?yT? b ?81?x?=%~?-E7۵?R (&?&SI?U?,W"?~I?_N5^$?=?&t$L?Dr/?u1??G^m?Ҿiy?<-?e?8wi?0d?j$M]?Niu?c?n^?)MBƳv^Lp⾿ ¿Ĩ^}|-g"?~~?15h?\y?Mt? h'1-q?ֲu%l?T0g?},`c?s_?E-iZ?bfnV?&zH_S?RYQ?#ݿN??WfL?y|[J?̗i=S9 <=pL,=Y=w<=3K=Qso=[{#>[ u >y >1Bv>I$>6? @>1,cC>'D>xF>OʊqMG>veOH>(%T7I>V8WI>[$+PI>AE#MI>A?yI>]H>BDfH>@epG>=E>D7D> aA>`$>]M>:M{>>~^l^ >>T[=X,=/=0{=PЖ?! .? ?7s)lK'?1|v?ӱo?6 d?mvY?v?֩E?X;v[?&W?'r?@ ?/?m:?aׯ?<O%RL?W?zq?h? /?y?("?%Anjv?=o?Er@?@-9?lKi?5ήJ!? l୙?^Y"?(|?0d?W?>P?_ >V5>}<宼>S!>C)><*>? @>Y1eC>&xdE>%nFlG>7H>e \I>|MI>C)I>B )רI>0>^P7I>NH>&mG>t#dF>qHD>2$pA> :p0>5 (>w!_p!>7ek>T錃>_mD,>a0J>B`={F=,@=c;=p&i*U=y=nj@e=CpN7T?b?cNw6l?9.ˀt??q;i6}?ϴN%?]GӍ?FC?ϒzdzy?w?m&?:.$i?֌v?]0?Vv ?f25`?N?,Y@q!u@} @RB @[j@-E@vksg@_O@4q2 @u }w @&A @,)@$V@(@P:N@uB?6^L?252?inߘC?r' x? + MTM?i% ?s1U6?sgW?$:"?oG?q]ժ?ͤ f?F?EZky7?E=?d0@?["{?Aҍŝr?|Esi?*L%O`?zD)R?}5?WSz?bXIT?"S3?4E>?7_Q ? o ?p!'?}#2n?5S?by? 3? e?/2?52?":E?J4?u?⒮w?&PM?q??2u7#>p>P2p?~oo>?pك.b?aǴB?w[?MgS? V?ӓ\?Ib?zZjMi?%F9\q?CO x?/H$?뻑M\?seyV?i'ߖ?kp?x?|G?I02!+HC g~p׾'zi1>BnmN_f6lnʫ_0?[pE`FglEWRa.:Z@cTrQ2?*?3A?H6{k??3;G*?fEy?Ӎ:?'32?F_1ʴ?QPR9?9#!"?n kC?8F?'%ɺ?7ի}?pzW<:?[@P? XM~@DžڰR@\ ??7?;?°[*?eP?*?"\<%*?7*?Ֆ8?'ç`?$?b?y[b?%?B?ƛ? /Ftx?P1Ԁ??/?'o?2!?ps/?(R?y:??[z?ݪ:v?"0?k_64WU:&y 86m[nN¿&ſWvcȿwov9FaF cN[8as=KOE>Y7_;XW·4y5iʭJt@b[C"ݎЗG#D:~{+X+_vGIle9^*io+ڿ) տv0?pѿҦ˿ J'AiMoڜ&s$vx&~n}}ie灿P-NNkS<?mސ&a3Goq5ӕt$̌{(88Ƽ=hwcُ¡箶a.X*{y+dK2̊7zYV DJ'ש7f؛5n7d"43濟'0࿲E+ٿxҿBз̿yHſǞgV?s֕ȴlg?(ﰿ{×ƬbcG੿㲌$M~-GV"u6M$Vh[țüsҼ%xhgܒ5G k1~!UpQк˅+̼,$dޡ?]I\7;+}đ>26I&6="i; 8W N񟄿?ob5VZ˃)PxH ~KO+2ۚ3] [F!9$볂5@ՁA逿;Z{p} Z{SDNywVw^ $?Tuzosۍ?z뎐C_ b8pMv-A@t`=r'IqݖxApl7?QҤ?Lȡ?Ç|bp?߅4?z6Nj?B61?7*aVw8Hbe/҄9f,+gԦ61f*^cf4egeq?`XGm-q?5p?~o?]E?m?cj?rWlcf?~b?#A|[?6 M>+P?lux+?'RBEgDYowle I=N%S>*D7>ĨEO>-i;b}>c I>@δ>$2?ڑp>%A9B?y/^?%)e?"]#?DmCf?T=?5^M?B[fR?NST?T]Y?_ EJ`? te?m?tr*it?Z|?FÃ?M.0z*?T?)>??A霪?|¥Yલ?비JTNG>L w>нA[bx(<> kpپuY_M+?_./d D?`o@GCPe?xh? kg=6?JC*_M?f>2F6?RS?7߲?5 3? ?q;0?(ra?юTgi?l$}?yc? ׻p? yū**9H2A:).T;c[+1Ɲɝg)NS޳?ڪD8Y?cOx?/?p҉)U?[kaH?aD"I?mfy?+F?S4?'2􅘨?DS?l Y ?TMF?;RЪ?Iî?wC%?4#е?zps?g(34?zJN?_^#?i*,?#If?S?Iqk?D?yM?/P܃|?'0s?Gtq6? K櫿L/?#ƿw%?|GI:ӿE_?ɉܿ cB?uxJ1%g?I(d=-.jݿ'k|ῲ<2koUw;wصZlc;bA?,Ml[/km7EL?gi \dHprj]yC04}}lï3Fy$I㜿}\3DOj*$̅ԶC4>Jյ^ "Zg1(7Aj .'_ĨȤ*u;jp TԥlmY¦R-5a3o$= 7x9a 8 Ig*;sF7 o9A .O.M[qIؙ;6b\R ucku[鿬㿱nܿ+տC$$x#п\#!(ɿ3p>ÿV8S;7}JMح7uR%Q?+jb QrB] + uxUFr*ܿ07 ԿE7Tt᳐̿6Vn,tĿn09i~q@+t1"ufs|hK F턧 F]޶#] )С;%S=M`XF•㭏GRJ)[9ɥ臿ۍ I#D/:3ؓ;(}W'=`H!$E ؇ oUH6T@ۜhGf_m ܅;^ TB{ ׄM_>matt!+ރR\s`O׆G1@?c}19h+K-Bb+ܘ.GZ u%-~עqsaW̩eƃ])I_\jlg  XUBǶ-QG`8f"l1"8k[O忥+~5n῎EaD}ܿqC{y}Gտ4yc70οHwz&l.i,O t/㦿:Zr K?^yg ?B5zڈ>.rup ۤwAb؃47yK>/~kpjEzEw]4u?q~뵸?Sq{?hUէ?٤r?37? 3^>?k) Ձ? )?;5%އ^?h`?5$g[c᭰?=@n"kԂ:+wt?0MpycI7?ӴqZ sU?F'ܮ~q#Y\?Sp|}N3~?Qe=o+/'z?%Cum7{v?Ֆ\ 2l?oHt?;dj]E%~>=ZD >J'!>Q*@?E$?7r>?όf>C+R>>?:/"DC?,B[g??p_?6GV?Jً"hjپZ3gG=ڍaKa4cfOQ* Lm?~-Es?oey?c*Cح? $ 4 ?7UL?}?p+? J촖?Ear??P?vhe?gSZq?-*Qg?QS8?QUت?:L;?U?go9 ?#/?& ?@x?(X?.)o?a?D[?]!?k7?x?u?’ŸYFj)ǿ Q"cԿ2Pݿ~^!쿄.$nT3[9:BڈAJTE67K3ˍ!3+OaſK -ʿ(:пWL.ؔyԿr ؿ4ݿ-@ȍu5U{|.EǢqy|;7KC0Yvgszu.N8fpE*~HX{goPz\"k'*dڂ+@&cAv鿘E%;<+ڿ mҿbi=˿EەÿgvE5ٴ<ܮzۤ!f]=wR(Q#׋ ;F3򍿶QQ RJ:g x8x￑e~(:q:ܵW_Ϛ꿪ҜᵐC濆4τ fܿ __[ֿ9BfEѿə ǿሉvfFYQ?1>_Z?Kox?6 ST?'4`?#n?q!Ő?+?umWD?ް'? ⪯?A(~?XGRz?Sv?lt?4:;r?ՊTI6Eﱽ/{䜷;T0b&RƽνZlMս2)+gݽ{z2v>$,MHFc>o}qN>T(?n7Q?q?KĒy?Q/? M&]?Ma?)Ee?r^Yl?DIs- s?I@[;z? e'?[>C??;5:[?cx@?ic,?`?$ķ?". /٭7;|J#ո '9m=01i= (}=9֝"U=SP=1įɸ=OE=ͮ4A*νսYQ3t۽}7eٽ$=H;>t>^q|k}4c+s33~Qr/AUSv"v|=,#Hܦ鳿?h?HV?PNĜ?YR\?P {?U?0æ?RrvO?m@?|ڀQUct`5HP#姨}-w6B೿dbuv˺ըIı-_<=_=р=sI@M=/5"={1~(=9kh=/t$=^=`_8=s0\0=6=d!=Hz7=]Eju;wW5☾sB˾ ?GHۉ-@EDv@tr@%{@K`K?@fT?#t?ÿ?%N?D˵?jX?8'?"Hm]?}va?ץc?~S\?°?.^IJ?$-?poE?x%?8a?s>?1pKUV?9}Ѡf?٥O?&?DF?ATq?!?*azZ?~U?@Z?e@Y*F@ 5qg8@(w]@:Z@,U@JC+@H+ٜ@q9;@޳@aOޭ@ָz@ ?;%" ?I?{U_~m?|vY?sV?,?!w?A{?+݄1YJ?)΅x?O7B?$ ?~1A?f?![w?oΏ U??os?8AE?%v %9Ɗ?ѫT@b\n :odܺ,X>OĿB,pǿK;pQʿPګxoyV@C -;*=Ac :(<:a~UNEa&Ss&bF"qFqh[H{ȈBw~EQu*@ob#= { &A*Y}~] (q:G`ۿ*"K1ֿh5ҿQ)B̿"H¿0B?Ai(#ݿC?$Sb0:̛ʧUI갓@*G<=%NAgZ}[Xw9Πuf&epW^j?]f#$klܘMq+ vCs{IX:Pg&}F~t r*#] ;3R$Q@יj蚜\cmR\؛m*cʹx nXuQ!UG%<5B|.D (..?tGo俢Zr߿r;B3ؿɉVifҿH+Q ̿G(vxſ#hҍMBӹ?[KŰV"|RL9FU;- fFʻۿj.cտ%coпO%]ɿx~^ÿ;L޾ Z^?8~8&y^Ɠ-l |rf&bĎG=eXȆgnQ-af" JQwwk ,ꖿ*/48J9㋿ia$ud'Kp4^` g7jf頤&*aow*BM󯆿Q_3(ᯅ``,>\PB=⠽惿}{"uxeI=ePO޿:?տs+tͿG3/ſBnSյL毿Sأfѡ ޥhϘB@ޠc/;}6щZp!KF&8冿o&n>DNJ兿rnK3,͡烿v`(?F$7 a.*oñ:~Mh |, z㖌xpmvwB9t28/r-?@?+d?VjחS}Tj^[p&daJCԖ`wopV#6eM|lAM,yswڄvU脷JZt%=5ΉrrI %ZqWmp oY?`Y3?@!/?x'˥ ?qVVY?4:bL?YhJ?x&(?DT?t?R0?{H?'[,??U?94B]?tFę?#݉?[ژ|v?}4:Y?.`FwI_X^pTnKdj7xf?=&g2lg/af N fgDe<}92e,q?mp?ub?p?ENn?l?i?7#Cf?9#b?NHZ?VZN?զ#3H&?O xEqYԌdCщ۞.ɍa%ǯ:{^rhT+@<½)ɽq=ҽ#/ٽ$| 轪W(zpxH%p6=k|`>oX>: a{>wUoۙ>m)|>+0=b><,?].>!PgT?{Mo?pQ4u?xv1? I@u?,TH?A?Cٟ\?k-Vz_?'63c?:[`h?kp?g]v?_>!~?H0g?<D ֍? ה?~]M)?k?8@s?Ւ=?]ņ`&?|=ݘX=t\=MFL1M=ĭ8=L=ն`=P#e6=p洙n= i#=Gt=jHbMZ.hǽ[2FҽE}ٽ&-2޽]<\ }7.)N s> w rF#> QbS]?\f. ‰ 1?0\q0i"W?cVy8^x?:%w^*{=?n`90?qes?1'rI?)V?X?_} ?LT|8?)ng ?=pȰ?'pt?pq?t\$?spz?Y1K͂l*+[%Gn9#f <] Z3_2Vx (.|> *>9"=wl=6ߚ= =A%i,=Wa<=^;Qs= E=Թ=gkM1=~6=%B=cG9=6` ` _u&D۸8yVex.ۗ`!,}D#ʾ:^'S>,(B򾛘't>ݶN e-ᰉ/4{AEZLjC'_ěugZzכ8q5Г";&^||lYt0g`n:N8f"Ԅa`t\AhY.Ah?Sa.jFk?hbxp?lTu?O |?Jl!?̆\?]YI?Usy?$Ajɡ?|=V?Z+i?Yfe?0?|xSs?; =Ñp?#.J?(Su?w? ^|?ZSn$?} VM?u?b$?;?^joD? Ӌ?lNG,?q6b@ܐ?v)?U(9 ?JP?- c?{y=?q?cug=?ya?Q9?_Vn?[ᨍ?T1yɴ?:]@d@T0x?l^$@=Yƭ? v@-P?Uim?M~h?Wh?q'(¬?ؙ֩?B*r׫?!?.Ӯ?z'A?U¯T??^toAԧ?E"$?S>9? _?7>?NB#Y?T^4?J#)?Ǹ?l)+?H{|.?ٯ?zgǫ?X?̏5>n?Or=?(O٦?\Y_/?{(-j%? - ?t^{R?_?UR>w?s4Xb?gӾk@FY~@ыYr@j=@ gA@(N@Z!j@r:02@z"@S@ӀڵJ@ jH?V[?=h?n ?ZP?y;ڰ?m?w?L\߻? D?FQ?W2?& !?q|?ބ?7Ds?W|;?">O?]y\Ͽ\a? .`=Ioڨ$]}[轿 @oc/rS<{nĿDKbKǿü̏y1NQYQ4BѢEMR^D[BH_$E}ԖW@g^Eρ)\Аp]īf_\9QyBгjO,X~J_9UKMG' $ssNr6˟޿0ٿ@|zUԿ?@пɿ ƿc0\akU' z|u5[^bORE#gۇՈ5Yߊ3!yc;ؾr76#mBgFwe@*9~̿r԰ HkE<ѿG~qY,-.տr~2u^&ڿVz!y"wJ}f‰8+㿃ɂ{2  N =97;{Xmx^-W: j},"@\FˆV*e/vkwZI$lCᅮoKƪIעJ⿉/kۿտL9пL݅ȿS l¿pm0C$ǙDJ^ ]6k?!y1,>򓿏f$VlK+w۸x9l(cbVmrF /gꆿwЋpO"9눿|[+PţXZԸOٙAalOoIn膿 GSKsE(;J.m:/A턿{L@'w AЀ ōKdm6pt8.&tSG?^ٿ%!ѿzC&ɿ3 }L3樴whÜ+ykÞd*鯪n@&:b ;{ri ]v_NíJ[ӥ۬˘a3+J 1oJZ3؅7n"@Uƨbm= I񿄎(MfE?ڴ1?[&?|&!E8?1nW?/*fm?7Ӊ?=yO?9GU3K?'n?Y.dV?e ?N{_??p ?Ě+?%?%?m?X}#?Hz?nwn? gs?(?i3%ϲ*YS?XefIԎ?,אo%@?`Ii1q:V?|@qA$ ?2>;&qI-I?+Ep!؆ |?vnSL7sY>& E9>3$%>ty>/o?'ؑ-2??I?. -m>$ 7>%e?p?b0?_bGEW?2fx?irK0??_\LmشД"='tYPVfqkތڝS"3~ ڇŭ?~,}e?5o?X?a +;?[VV 凭?@47)?hN_}R?G?8NʯS?v7?So/Z?YOf?I%]xп^I ٿ/TῨIRUH7~/Fq U :U>"\4x^* g6rȿ οlZ0ҿzֿ!*ۿnP)X㿥pmF*Jq,+n5N݊*N&P$߶OاdŢ.2 r@ůiE٫rQدf[@3(F I(XX%P$2yZ[/T+iSǎ޿E˘2ֿо^ʙϿgJ_ǿ7hgpfUZ鱿E5WrYB#=ٶ\)eC(T(x 6 \ 'IJw?Trl)6>76>OG+>kSc>8\R%>lK.>P7>5>8`=>ϱ D>.Ng>P6|m &^Y9QfKHt6GZ-/=)ak>>ȉT*>&,>iһh>IcWB>DlƘoNϲ&#HMMi=#n?c޿Yc;տtє9Ϳ.vſ1@ 1٩Orlbۢno~,l>0_fsE+3OԤ?B0E?_?ߖx?<՗?TY|?/e|*?#v ? ŀ?]`?GM?DKK?=g6=I?6=#G3ٻ=ԵMu>0 >?P>ׄ,>ubG">)>#jf~1>=^Pѓ+9>:*A>q!I>AB'h` "^ AXK~WbkmoZc^ OBWl?r! d=6 cG>8e[ >r41>f{2G>CR? >de+q>g$>a_vH_ 0A)c8nS1]q\(kt!H`l e9ĩ )Oxy8[SN}o? #)s??ාx?nV4X?72;?{?_l=?[g.?TJ39?~'?rL7?ٹQ?`TN?D,Q?ΐj?2 C?>z=?xР?f(?}XaW@YO@eLܕU@7@8rh@@İSQ@&s@}W \@BQ<@6@UK?-O?d?36?P;_^?MH?|?=S??MP?Tr[?ԓ?¿Z>a+Sˏ6驿K6q| I"cŒZ芿SjmcZ|L8'uG cpEd@j3Kr/&%(ܿn2ֿ28ѿXʿ6uĿw8Jt3v8e=ڴ^>ҏ~VQӣꬿɾǙ;p!'2DCcٿ[zѿ~m0?l ɿ}YqB*m \zguzQ+4L'犂y垿N p:@ďD@ӯdhS"[?$˥?gf?tл?zDB? ?3c"Y?%p?M?(I?D?v>?|?X(G>k M>@|/p>%'E%?l:)00t0`ݾ^‰\`N4>A֊(*d1Z^8ŏz?օ:{?Fd?| ܫ?Uf_ʨ?k|,i??q?kapP?nve?ío_a?Xzqpz{"emfRfβ`A%@;@_ BY]5ن{=Iē5BOD?SCf`  5_(8N6s‡;ɼڞ5*둿$c~?%Q65yAr},+j2 NEcҔcc\lbUdQ'm?[SM&"&?oOu ?WmS"?ȓ'? Ԥ?'?U1a:|?YE;ps?aDa?}ꄁd?16?ɦcL?`?_3]*?t!̩m?% Ǿ?pW?LF?@n?*8,AoǿVcտ|2}ݿ_Wf; 'Ʒ4A+D7⿶c!C[>}!(T#WoWm}ڌ~KE2Ln1f9GN`cZR`a㻿wXĿZ+U̿B|dԿtISݿ=-f?7$?88t7?hFId? &(U? #? ?M9?dؿ=qտq-|GҿοMB^ɿĿ:UEcN(,g`XblKbq6!tn wxṂ#{.c} w.SiЁg̃Fw[O0uN5P?wBwˋfo_3mm@T Y}񰌿,S;ًp{&v ͆n{Rd!-̳i<)} o4_ wۍCqOpb ?/?w ?I2`?F?voA?L,?Xc?%?N{?]FZc?o9AZ3o@F^( fnj Q> ?ԧJ0[?}, z~?S[*1w? *2?p?3 kqe?}s @T?5<¿oo8v'x.Ɯl ^x?Z@?*o?V9?˃?S8?\ǻw?1FR{?+I}av?pnq?yG~i?ϯXm`?@?w5?}W?gϻ?0e.!?(&XY.%?E *?'P zC1?66?' dOi6>ߧFZØ>`þ|>Q\>܎*g>C^?y>1*`A?_2t?d{]Pc?1xV!?v?Pع9?,2顼wm>3wvMrۼ>!J?F#և,C?T4B-g?KLea~?F5y??Af훿Ņ"?E?I4ү?E5!D?g]?}.#?F?=J?4?|JK?\Rz?muZa*A7k2`œ͇}URPަl8eIXwΰѾ }S+KyIд-+~4Rݾ}zv! Aݫk}{@br/޾i]iBc|[:'\G  >񈊩f-75 _睿g/@Q]9\os~luD.TWofМ^~`;$ZXkmuF SUOЙ<^%L9`qf?b$#>?0Ệ:m?԰p_?M$;r?_4=? FNGGw?ckzX ,1?[u߻fz?2/Edr?m|W`_8h?o3X? k= s\4?e@e bn1˟um;h P5Nr)p7o~J(@ ȿHdՀѿؙ=Pؿk|[ῡyek[ѿgTZ?^2 i 9&?8?5D2t?;8V.?M?21Lij{?zS?,?a~lB[?㲽I?4O ?Y\?=;q?C?X-?&,gŨ?}&(?؈#3?F7͂?c]}d?;7L_YLmVI?qn \?H8VPw$?e:ZE?>:MA?U3TeKW?Cqc>^PQ?㪒 ?ls?e.vo?;@?PPx? ~/?[b?XҤ`?AL=T(Ŀd ӿf,ڿ7x7g࿋oDc/BU俓\Z3@6>NLꂨL@;:`Y84D)e࿑TݿcOY0{ڿI*c׿oF0ӿ۷пtO&˿QnƿADVO¿|"%(ÿ]XbAݴMǿ,SXfNet̿U'kn{пKr0۴pxQӿysӃ6x ׿9!&w22={JڿϯzX㴌ݿ(Lw~uҏ[ )&ն^[Uf㿁ͯom(俱OpÒ&ܬf(sTbk$ 1bL[ n8俐YW?0X95!u;B⿲$*N8L]gv=>^ܿ%狿̋Jտ($̿RzNZ`l5 0?/̯l*f+?Z($Y(|?c) +ًe@?[Y5ڤ}Nq?2w%aL?*܃Uq}?w?*d ??}'?#%5M?r׵?ܚ?rc?^eQ`?Ok?\7菡q?ʭ{L?lw S$>tUc0g:?? lU?{H6\?Qkm?uX?mHNv?hu$??WFH{?H?[[~?+?+??31?@s B?/N~?# ݯ? q={? h?d6@y?jl;?R/u?X[YZ?zmr?P,tz뵑?7wm?vl16?|$g?T8!'?/M`?j%u?#,U?!c?I;!b?>/-a?!w0`?/ok]? nv#lZ??T'?^&e@;?I"HZz?}[s?{^Bk?Ҵ_?&FD?$mXxtoJ!J`kgע+7ae; B{.kڡa0*| ~z?P.8ݬ `wXF݊?Me_[uάF?VU󆠰%?RknVdhPU8ތ?ܤF0?zt;Mw0?:4*Co?_1Ͼ~?f:? X x?j "?DIM/s?X&%@[$?މKk?B !?}b?c^C?vԗ}?\FV?HUQ?ɨ>`?<ă"? \t'?vp.?M7?u3?%> j$9?0??-R]D?mo~H?pxM?2jQ?ж{Д=ZZ7>`/~>Jg>Iݯrɑ>nH7}?g4"?7l0U:?ӎu0gDZ>y@{>uA-%?#4uC?2i\f?{גO?ʜ?ڍxqFJ1mÒm}F5ؾ)⟭ Q;lP2=`Y|6Ug?clZan?2Ω\s?&ƅ.x?(KLLB}?G?FpO?^eZ?9u?0CٿP hz4?;E)?չS?Ü?-I?EhoE?a Y? "*?U?+)E?T/dr?Al1?mGSRʄ7[\3+"߿DXgܿ *ؿllҿp{+ȿFe̓1 "h??jfL?K?S\??"+?݄G?i:?T0|?0AY?rs+?BϺ?5Ƴ?0J5??۽/?r?*݉,? 6v?}(.?Hk4t?L>MDgV?TGKqk?2K#?F&:?/?yv? 8F[?7Rp?o4?L ??rOAov?(/?#>H?ĠE?}4%3?ZQ?By_?ϼ"?ʻ+ ];RbC[jc^c+v "a J\*W~v<Q~TwGu,-o<2o5+d:m9?ݗ_"?Fv2=$?]n !?+p匉fqčz4ymDK8砠}aߦu>K>|SB6'?NcP?-0xFp??L}? ͢.tX?лc4]\?Ga?O"g?*&o?‡QRu?+[x}?'4y?Bzn?؇?@G1?)Eނ?O=U?>(? a9ҹB>8i>olo.>D >Ơ9s > #>eί=:e=(L=GXa*@7sRI*@|U-RVSc@ 9'入HrGg>Msֿ?7W S-8Åk+#TFnHt+*>~@ }o?*ХJ? 4?tFȥ?wb? 3$ٯ?2j?rL|Ϥ?0m1?X2?Mg#p?1bkCybL姿Frw,DдmsgM\X[^6 =?s?=:/ ==hufҟ=ҟ,=fDQ$=h@=wߊ'C=,e=nV=EXTz=/x= k4%Wӣ +ɾm  R?W-d1C*|MB[ȑzFMqS L&j$I2i&{'s@xMl^d5_ ޭ1Y1/UNuiHd?R+]~g?1&@m?=s?(Ly?%?);?'1!ѐ?Y 8Al?X?ޜqئ?# ?Ϲ_?'W?sn?~q$?ܥ)C7? ?%O?\3A?l??B%?Hjb?Y3#?P-J??tDYf?Gie;@?z:=?X5?kWbw+?f֋?r>N{lƳп4O{{ٿzD|M㿤rF_ 4lmkKf3JRA@^]s8 pP-p;樿W>;3ey(?Hg¿- Јɿo@ѿ;s!ؿ1 5?\nd;n?=_eIH?UAP{v_Q)#?(;.?!hf?xz&? &:?km ?RZn?蔡?m{?ľkٙf?XR}?om?k//W?H0?p [g?9DaAXt?"bz?b~?p?+??= ?m!V~?-S 9{?sw?Yt?qV=b?ja?ZƓ7>`?IA`?PE Ŏ^?ٹ%j\?x [?yKy쪽iG(lyM½-wɽ[ ҽ-VQڽ*]a轎?t:4=j_>aX>ma+MӸ>?1Q">cmF>4)>Z+?j(>Ic/ S?}/.J?X! Hs?zt/?3Jbf?[tD?3ڳ8?#c8W?ch,Z?p_?p2l"d?tYj?OFH@2r? :? y?``pG\?}*?ܐ?hNm?d-}?~W?k6[-?̼??0c[*>S@P >RZ >&2>w->XIjS >Y2`1>)_6b>du=aV=@z~P=[-ڽ-UDO VK6 l*>=lc hO(Wķ(k1Pv>Ieiuu~(>e`Qֿ idY>E`16&/?(ٍ.=#V?@E ULv?i脭=uQ rDɑ?*ݐCo?+Ky|T?Yc] ?MYVy?#?b+AL?B>G.? P ;?T?d|ס? w'h?zUk?P(b JŎQݎ}:+qcc1vXƍx͏^pZi'{"QߝY>=kolt=Lr=Nd==v]=Ա=h=LX[=C=ܓ=L?z? =(ߌ?cAi?yWM.?j0p?I%? @t?I/?iuy?)\[a? W?h]?+8? 1UC?5х?|~?og ?,[?X??moAs?PFbL?U/r ?ai?r%q?%T5?b% ?W ?XV??wS?^ l?F~?XPZǓ?sX?Jl:?=h(?fZK?[o? ?ڵ?p Rݎ?zEg?ÿv $=?ܡsտ,[O?[!"6࿩-_;?qWZY~?V@lv?N' n꿱q~Pn?tYiCeb?$)连DoL?{nV2(/9PzVf|yw5]x@3nљ_p-4#ܵ6r[.Ĝſ#&idο{WzySԿۿRٿtVtOLO]?r}D>M?sjB@?Ia(?<?$Rp??o?쮞?v?2 6Ͽ+%_ؿTx^߿mT*w:%U"n>-翨txL~NU濿ZLTC/TCqͥaӷ&߿ 2ۿoQؿz[AԿ ɥѿ2 fͿ[ȿg{k{ÿuLc!07Xmh<[XH+is]8F@ϑxCBr? sޭI[zqpsDsJlcCxVfwnjb۬`WDſ7HldDU՗ɿ{Bi}i6Ͽ"n\hҿxg@@&7rwvտjpukcؿ=xSӶۿI~Q|.+y&߿\0LWcῤ-kVG~ӦMW8g+ׅAf俕]Rs\``)'ӊW\俱x|TRZn4ohrc0APT.߿Ie=ٿ}/+ ҿ%FCÿH78D[qh?9Rhxo?7p傿2Bn?m(:a Y\?3>ùzH3L?CuLt; ?dCL mm{@?\?<_? ?M6?0.?hT??[" ?pW1y? ?ϳw?,—ͭ`?ϗs0gvYăۗaq},L? j8l??P~("?i]ӧR?t8?Vٖ?06?~~?=?T"? |?n,u?y=gMc?hG?#wĝn0?3@,d?q?} r?\pG9?F8y?PpM?i}?qz^?.N?*E ?^??,y?Fܸ(?07?.{<}?r-L?jz?S[r>X?b6gw?7mr?1ZL&t?  Δ?F4Ep?A'?.j?!aH?zX:c?Ήl{?Lc[?ᨅn?UN?DeuS?U.iR? o,Q?%aO? P.L?mh.I?X:'F? 7#D?OΝA?i.l>?:?~7?v2V5?Q3?Ā2?@M??m??w ]$?dǼp?{v?i?< :#?J?y L?Tug&!?}. aPu?vw?ߎ?`?ϴ&|?=/o?sS?6;?5[T?oi?oU^!T?aJ?ۡPHT?О??!S?G,?W.b{S?^a`?^S?t3@?9qm>R?\?*yR?}?htQ?y?ˁ-_FQ?/4S?)ZP?(k ?Q ?O?/?N?J" )4?0ًjL?cR?J?r߁z?e8rH?A/*5?cޠ6G?⺳iԥYwE?.JA9 Nۤ ?iG৖?(>s?$wTd?*q4/?޶Ŕ? X̑??#e?4k2X?LpL?(dy?^.r?$P7 j?*ԐT^?&TC?f/R,~9L1_ TYm8 Xy6/fnuAɐ,KQnbg=kpꍄ2|p%ſƦUɿgoɿNo/]YS5f^a׭I뗿fa:d&?OlM`t&G6?]Cۍ?/qذXh2?Ν#SR/v.?U KP_kU?[A]U?3$Ws?%  ?Bt>:{?)pЋ?O;u?R#?ܽ!p?|n#?9yf?z@?8+@Z?}= ?Dԭ?WS ?}O}/ ?l5Y?L೶?.\?= ?;ē#?ػIJ)?bw/??!ȵ3?e@S?8?Ү7=?A?b< 0>I gY>ݞY->p8J>Un>V ?E#$0?F{E?uϹRnu>%">k>(n,/?tl`0yU?V?u?emW?|Kߦ?w2\PszFK~ϴ&]a6Op=o(AeHTga3j?$ٷ1q?ZCu?vo ]z?BGD?ȋ})]?; m?ԯF?CC?2?7)t4?=В?/ 㺓?t|=O?_S1?j}^O??i6inh?7P3R?sBK?^z?ݍ[?D5SL?O}?u?;*ul?"/t_?\C?Þ[пz6 ?zHX?͝X?Bd?Mx?yA~?IT'$!?L@? ?G(?^Frj?U_?d)n?ɠx?]wBc¡68c✪-bgVm_?53>Y{PxfT[XLI;B*4~4@I؎i>f?Bk9$?G#?Z\F5?eF=[K=]FP->c̀>ob$>]>G&,>ogjf$>8,>CN,4>Aa<>뢎`C>&\2f Z!UdT$~ q 8O9mOljS 9ȨL]='N]=>-|>8E?>FPG>|B%22>[;B Ϟ1;;ʚZ3_.+=# "z= %Cʖ\BaTnۏy;$Gyk?oÀp?: #J u?{}?}a%?͍|̋?h5zI?fښ?Oǻ?3,? [_N? ?tsQnpTsEH快ɓjqῺBٿEb=Ϳ,Nȧэ?x(vV?k4&?KxW?cޘ? I? uEI?b} ?&h ?_LA>?Ţlqf*-GHG;?w]utzr?N'?6D?AX?YVK?9qYVI?r?+.b?A@j ?Ѕu?ZǗg?ε ?ݡ0?u#?3E)I ?Q/cv?!}?,iQ?rj0? ?C?9?EI?!?P*t?Csu?)chiDLt!6ɀ,zr[8/E-u;N]J|<ϸL-Ы(i?¿d=x3=oHBP=&U>02 >6 >Ce>2 ?!>L#(>t0>:17>Tg @>9NG>710 92W oNɰbP.OxDZ +z KaQL&f.=l!;=Œע=Mi'>y97 >3*c>o >$X=fBGp2@!--6#5IQ0m5', Et D^鯜%Ag & <`g:pxxh?Ym?s?Qo]y?,4?vIBŤ?P C]?M ?80Q?C($?x6.t?k{?v:S?b.]߿ R#俭R:,>޷P4㿽0޿إfԿˡ$¿AFӪ?C?0I?i_gj?t?>+G>?v_H?g%?mb ?apw?"?j7?%?y4H??;Ҏ?P=w?1?žn?x?ץgn?.Q 9V 1YX3〫_3⏣Mٛ$AZqړԒW_[*ZS1f}2Cu.FpgS4h8u5dgI3?6F.?'?􇪾?"'-f?oxj8g?9ЎЧ?$y%o?&AuIړ?@|5a?GG$}?V \Vp?#^Ռa?CCn?5Ζ?ow?a?Z[m?42T=?Y7z"B? ?š?P].?Dmi#?؁8K?d࢐D?J*?*vX :|?2䯈o?2>^obwKoxBhzK,.k\,##c ݿŵ1Bn4,]¿ >={Zu> Kr!>&f)>@`V2>H9>~PB>FI>TL҅#R>YY>RNb>YFi>֦j2OT>Oqۯ`>J'i>cťEr>qQz>)&Iy>3bE>C_Q(W>^cz͙>2J~&>ؐ>R7>#%0d>Xܓ>3扥>XI>ŐdV>>>2M>V\e>^A>Ƅ0 >M[>)Bt>>/Cy>Ԇ;>J7%>*9 >YnQ>c>7|KtEK>2HXY>0?k??=Nj?57 ?sP&?72>- 0?r$6?.Ҧ??N<DF?h/| ?6 ?8ך ?i|(?41?*5lZ8?*A?qRP'H?)/SP?wW?PIPZ`?[ g?[Y&?s2?tKk(ߕj?:F~>ۇ>\O{>xz>?j3><$ &>2FCo>`ů>8$>h]5>sI>_Bʨ>Czk>@>Pt҆>pld>F u> 87>Zj8!>=BN>.|w!>bP>L_ݺI>^>B۶>:.^>AbD>w6I>1y>{%>q>ja>?;!?2r ?=; ?Am" ?D~? ?3`?bh?|7V? +?U2.?{CU ?&ۗ= ?WI ?g6Ev2 ?B~I?V\ &?{za 5?Ft2*J7?eanI9?{\;?v?r>?g???lX>?Ψqt>?[D=?C,`?9'a?F5#4?:lnN?h%U3?( ?{s<^?;/k??ҲHW9Y?_ٜ?2%ct ?%b~qi>5В$a>Xe.^Y>Ϛ˦R>heeaϺB>1}-9>-\ 2>4P=H)>e&_!>L~>Z4 >\>g>om>>c1>)+->kjȉ>?>Ʊly>p0*q>cDh>r ^`>ƗDžS>S&x>TM׬>V">u^>|v"R>nr>8J;>yb ,>?]Ǯ>zMJe &>(>1~>}&z?w]?2kL?>?N!_B?13e>yS>ԴW=Z>Kwh>>>ʍ>/8n&F?nW|??J `6?iE/?%&?x5 ?p2$?$*k?aZ;W? ޳>YU>i >`jg?lw`?V/oW?dP?U;G?hh5A@?xGj7?rj,>0?/oٝ'?͒}: ?YN }?y" ?;ufc̓?Y\L?RWC?#}r;?'.2?^r}&?IQT9c?$o?Avw?Q5?g\?T? }f?=h%?*u?`@P?b뼷?ssW?vi?JRu?! ?Rȵ@?ܪo?L(g? dYx?,@$?)??U.ζ?_?],{?z8q?71Y?|?7=?es$Ȏ??^ ?$ Aȥ?3"љ?PCEfz?ߡz*P%?eV(?[ˌF? .bv?g@Z??qhK ?EWs?[~*?uA?^ֳ?4lQ׻?S/҈?j"?j?WdE=?}羷|?+>h?j:! ?'xHx?\J?h˗&?Ls*?D}>?4,_?״?OZ%cm?8l.u?B?ԇ]S?q]?|T+?Hgˬ?5xyb?%]z?5?JI?6?6??YÅ?O ?Kkh?S/?Mn#?6?p?^囻?S`\?Zam#? ?*g?`3?g?ٴ?jSݕ?DԔ&h?YTڷ?҆l6ٰ? 9+彷?S0/O?W2M4\?i~t]?}_D[?V ?q?+&nԏ?> ?4Y? [n7?}?׆4?n?Քz?m'g?P2pu,?1 ?9{s?@}2X?>??k4Nă?m'rl?nlz?oȏ\?½Z%*?W_J?`\v?(z +?jG?-鄏?Fλ?c? ,q?>!?k8O?{ir?ԏd륍?L?#?b?y⍽?R&?;?} B?ja?.Kv?]emſo?shz?!?ͥ0A?&o"q? Y?.l}?:*[w?+i?{?1?3t?LdG[?wS?:> C?""7:?6? Lˤ?U?^N?xEі?̷Uk?[`?*? ? ܶ?$83?!l;?je[?&?(p?R?Ry??TvH?(7?j?5fT?K-D?J" ?'`C ?̹/?8t`?`?KDf ?XZ=c?#'M]Ĭ?~qBʹ? ӥ.ļ?0ڶWo?`Y?9=-?(Ke?&Dy?3Д6֡?l{f?Gd7?b#`?)pH ?]?Z&V?=w?M(~?Fn?!?^' ?R}?AGqv?&țć?%`NFb@ƒ @I\PA @8` @;p@+|@6{>@V~߿@YpE@_Q@Q*=@U]@ 2l @E?4 @ߨLd@oTDG@7@`o?8?Oz@ϭZ @ia@&?{@꿽\@/ ?Fų??ahN9L?bX?+?+ )t!?Χ? ~ q@n0 @^?@@+'@d@ɮu@ @j_@鹳v @Hvl%@bFS @:?m@T2@u@^ R @σ@,취=@J3@pJ?Ȍ%??I2[?@^m֖?t:Zj?de?0K?*O@NC @^iӵ@P{"@y8ǣ@Z/w? @&@l5r@9S@`4@8<)@v @u@BBI@ӜԽ ,@0V@g @R? @۝@(r_@L?l r(r(?IvAU?^B*?nUI? >o?8ae1W?}F@70 @!0z P@ 4@3O@eb'@Ld7\@g8{@) @Q#n @s@L$G@U>?"r?j4?3gGr?J1?M? N??'@S @9M`j@\m)=@Lc@jMGW@mˍ@o:5@,tU@xي@s3.@9䑵c@ h@f_h@FvW%@tF@ii @i'd- @6%ߔ@ZK@0LтǑ?Wm,?ݾ4k?c|ĮP?ߒy?Cr?Ia5?s S@]&] @6@u֋@3鿨@իgc@gz@.d@{U@M@:}@ͦ @Bo(@_70@nм@r>6@)Xҹ @ U@Rg4}@Aͅ@7֜?!Z?T&?؎{2?mv;?rz?*e?k* ŠF@?" @ֆP@3TdR@k.@Tg +@ ^ @H>c@Fӕ@@J "@ʆнQ@}e{@zs@jE9:%@U&@s$ @sR@Y@;փY@wC@`H ?B ?X!d?Hh_?y?4}7G?،+?܍@Č} @>@`y@2W@RJU@B@e3@@/ $@*RO=@UF @s@Xߍ@b@8.U @ { @a9U@7Mn@m}@yY ??4“??h"/?+8? sb?8O0?[&0d@Vt @>"oޙ@@@a7@TE-@KK@$@07^y@Ļw@,_@@@M @*w @"p@kM@RT@ "?`~?'?? XL?m?*%!?^"c?D&nG|@EH4 @EV@m!2u@NIX@>f@v@ 6r9@0N@kб@dc@*kFb@`8Z@UkDE@ڣO @Og @qH@Quy@S@?=T?)f#?]׾r?E?E'2@ ?t\w?bZb?$U@c5| @6@v>@xھ@yMSU@U?@J@0c@> >(@(G@.x`3@, i@%D @B6{ @R-_@VZ@۲ e3@3JV?^G@U¨?Xb?^6T?l^?h&P?n!}jo?q?z D?n?Y?a?o?n_?߇ܤ??As1?~bE,N?YWk?N͡W}?F,t?‚j?F #B`?L?9?<Hv?؊sͲ?ݸ9z??vFP>?FT$ ?4܊?)Uɂ?m !y?8Pʥq?F1d?j.?g/; ?l?ٚݰ?%?¼qz?+k?n'I\?Ըcm?^cR?D#u?NRj?lQ?nme?6Û.?w?_5ڭ?##+W-?w8?J'?NW-?t[?.Uz?3BAFkp?>f] ?^rG~?J6?2Y޹?8'؞^?D?u`u?Q ?et9?F?hx۟?=d:t?r?fr`)?Yk"?ȕr?sT??gykq?9nk?,^*??Ҝj5:?&x?oHtV?x~ ?^+?S?6sҺ?s1>2?8x?[e?;s?5(,V?(3T?&0H}?k;B?5?R|m?Dti?u(6K"ֿ?}J?t{a?G? ?Fx? sʕ?ΊxX?B?9@KV?C" ?*4#?nt L?y?̚? C5˲??W?\8# ?#%?Gu?NݟD?s7?9ֈw?C:?(Az?\ ž?F-е?lvҮ?PbMi?uÝ? Sē?J{#?\Mjc?B_-QS? vV?@<~?ljD?] N? Y ?#)?"Ѩ?jR??!&񰼖?XީT?͘(?j;?[? J~5?4N 4?v ?c-o?4ڴ?0o` 7?X3v?`P? ?eګ?K ^?I4N?Ub@?.?OZ~?g=?f[噶?(uy?"vW?|$%?ulǑ?O${G/?r!R=uk?C"9[?K? _?*3A??VOG"?DX?;&\g?eNUQ??q[пՓ?, ?d?`ig?zz?_E?D ѥn?ɥ?ZX?#t?sQS?5ޮ? ? g?it39?+"?ŀl\?,`?T+C?R@:7?0?Hq4?td%]?%FPݖ?g?ܙsu?(y ?׎?] {? r?/ô?FE?ʌ8?zG{?@?0? ,?g9?=G3m?u\d?'F?ߊY?Ⱥl?HK?okK?AJo?-v5?>Jò?><6Uϛ?X/O?cZt)?/1Iw?vw?hAv7?9]5?Fq;?xӺ??LԹ?/g?l'X?ۑY?=D?u?.?4D?f?⳸Q?|q?=-q?b4 ?B| ?"xز?^K??{>?!!?()?f3v?fr?̑?Ư!r?]m 9??=_L?onR?<>1?$[C??Yu???N#`?c?!@# 0?s:?Hv ?۪"?3dq9?y)?*Y?ge_?߉?ҍH?Urt? MR0?tUTf\?o*?ʝ.?QN?s6F?j5? ٴuU?i?s\ 5?&}?gcM?R? ?L@nd? T?ZeC?% ?!f[?޸1ǁ?UO?)H2"?=Қ?xt?ƴ?SH0? aH8?lو!6?0(9˰?#?qHt?䯐9?Ê|?ӄ*?{? -?LC^?r?6cR?֊Ҽ?&?yH?/af?I? e"?RW?s? ?P?P(?,5pN?#{`P/?)$?In:??4?G2?sO&?ԓF?~A?XQs?A?öR踪?U?XŴ?+z?B?Yu?Q? zZ??9 ?1^?G` q]?8yV?$d?D&Hʱ?Tc ?ߑOJ?2150??Ԁ.X?,.@?/|Y=?Jf't?&k??i(?@Լ?u{&E?a2?Rq? $)?~d^?i1q?' "5?>?NL?tdY,B?o?"i?c*{?or?!s?"fߓ? ?ta?S?)?0>~A? 濆?U 9?ͼ~?r A#w?n?ZK@,?~Yxx?.ҕ?ͧ?\#i?m07?/{-?iY F?ve;?$j5.z?9s?<hoj?ڰܞ?B6?fyklB?ϟ砉?ᄈۻ?6ϝ?H?쁳l,̀?)2;[|?aQ$v? ;Oq?j%2g?B?=`#K?{q?Of3?NPaR?Ҍ p?v_?ky#P~?M0y?"tt?7S_[o?t0Ye??4W?ːf#?1}k?UIՑ?g1cʷ?HUv?rWy1?TNu ?jm?r(Q+?6?[Nv?!GIz?;U?k\?&\?ӥ ?^d֫?jw?VI+r?? ?`,U?^}?-`땘?EFP? ] 4[B?1mD?(~?nkPZ?m6!?[)+?%:/a?L޼? z?6?C?hҧ?`^?fx?1?b?_6 v??fV?*=o5?u?=w?%B ?A{?cq?uD?|/X?nm?W_c?K<>?2bx??)r?8f!?5.?k]?Dv ?8` ?6Fk?hV|ڱ?)]8?Ds3?{֠?rB?C7;,?/W?L}n o?-@?NUފ?[O(?}dV^?Я?ԧO?7wU?ՔKB?Cl.*?Y(ݣ?b,? 4'?늿?{0K:~?]|\?S`ό?kl?P?pv,p?N&ϓ?Ui?aО?Od?AE&?T?)B+R1?\H "?y??Y?9s?fp ?0? Ԣ?#,?ҝ?ib?⒖?>? |\Dܘ?ĝwٞ?'Bb?Ӭ?\V?Ǎ?,?q&DȈ?s|!?l4X-?bd(;/m?f ೒?LL ?!?馾?h\?skޓ? uiё? ~?2#ƌ?nL)?.y?;?75y?)p}ߐ?N+֙?d?(Ԯͦ?;?o;3[;?ꖹ?6n}>?{4?V_{?7T?b~Ή?}-?nSn_?mr?4w?,2o?8㎪?LшO?PF%?6k?Ujjy? k.*?L?*&?(G/?A?M5?U} ?lZs?@,e ?^B[??gt?(m' ?Ds?Eg"?;Hmt? !7?qa^:?:4ho?Nʦ9?%DzӚ?rE?ׅޅ?I2q?y?LnЀ?+.'ȟ?W!?H=?[k?aM?Ԣ?C?I}?3B͑? l?D.Eu? .Q{?!}w!?b DG ?*?Yy?a/BƊ? 3D?&*m?WY?* %f+?#(8&h?q?OΎw?ޏI|?<D=?$?0?Dӆ?:TqE?2}?KjXَ?LVP?@ud?иլn?M8.t?r!x?ٺ }?e|?#1A?G_Dԃ?sE?!|7? ڠ5s?A&?"Bq?Ib?䀑`j?FOkq?2v?Guz?$L}?d?+t*?X\?6'O}??f/c P]?Yr_e? Ll?=q?Wރt?|?w?"!^z?䳎h^}?@w3?NЄ` ?o@U3?wTE? 0p[?,WIld?jj?\p?M17s?+&v?B%5y?߬5q{?E[.~?<}h^>3n)>d7`%>ھ:.>5>q>Ǜ>>TE>_^N>MvU>YN^>9Sme>4n>${M> 8uZ>ۆd>s=+*in>miy1u>l%>k$c>c>r$>Q@f>zf4>ӷ_> e >ߠD?>ч>;̨>9S >dy>M `>:t^>N5w>JL6> .>(̅h> 9>`ʹA>O||>Ic>.*D:>Z+>ֲeQ>Ʀ(br>ASb>M>m4? M ?iϻ?H?徼Ci"?:Nb>Vas~>屚->H='?c= ?:X?T88R?=#?B+?L3?Q!vO:?C 3B?1;9fJ?'{?`!Rz?cß;?0$?y,?b|4?@j q?$w?!fNEҀ?'&{?lo>>Bd:Ѐ>3o6>>Mީ> ">C7>x~ > E'9>뵁>6m>Q3>>y#>@U>f>ŀd>=mP>ӂsЃ>S>>ia>DžF>VgL>n>1S{>[>}Aw>>wT>#9A>`*>G>ir>PHV >B!>5>B_>T?9?~??; ?,Pyfu ?8ͮ ?LQ ?Z?{뱱?ZC~?>XGf?z8A ?״A ?baxD ?A  ?ehE? 'h>?l? 3?26?ҊQ8?(%/:?4Z?;?=?yS>?=7;ʹ>?(g4??K C?? J1>?! n">?z&=?;?1=:?vQ`8?K@6?ю 3?P[?t^?*h`?_]Gb?Cd}?2N?3Do?]gU7 B?2CBn?o+?b?Af?ie ?7OՆ?C#YՆ?#?_\?*^?X2i?J3 JQe>k ^> 7#7^U>-#UN>Iȏ^E>|>>~0g5>I.>%>sdw>$V;>ucK>T/Or>Zp 8>דONh>=>c>ؚ>{&߲>3f>R1`~>eu>Zmm>,8?d>#u,yY>`5L>,>⍎>,K>]o)>I%u>X2>|EŚ>$8wS=> `n>;2ܶ >C3S>./-2>\Id>g"?Ә?YU?' ??es>F$>&{?U >>w,a>swI>]P> Fȸx>EJ?&wB?X0P:?:+@2?Cf*?C#?9?e!\ ?@ ?ԩ!?nK&>A>m*>\k?nǁc?0Jb? p?sSz?L ^? hʋ?ӂ?K@ƛ?Ga? /l?76???a׳?C/,?ni?_1&kv?Ao?H?OTVd?A?A^?Tluҩ?Aa ?Qz`q??}NB2?tnum?YBp?Г E"}?!?t?м7?=?}'է?`w? 瀷?a}?$?)N=?cdX?h4xt?iB6*?i,C? P ;?Ho~m?<?kFaW?mWO??R.3F?ߠl?_w?R?-{z?38I?+\5?M"7?w ?0d?,?hS9?!|?q91?RUz^?F?>xGI?ȵ4U?/UF1?Z8F?Z?-P8j??jO(M?hY?5^T??Om?tm?B= ? (?FkYi?mL+l^?vE?mɣ?*8O??Gz#?x?/-ɷ?+J_?;Ӥ%?\x?hJ?PB#?KR?5s?f `?iհ?ȷ?}Mu?Ҿx?*?ա?w-?q{%?Y$?+?O7?2? Gͬy?oe+?of!?ॼ?>y)?կ?ګ?jtb?)?-??gJwn?&ʞ?O::?j? %?GJnX?!n?bF?U_?˺i|??cnԼ?ZʘN?aI?ɶz&?U?GIe?PVw[0?6܁?7X?sa?n?A_?ѻU?"N1"?[8\?1NN͢?Nz?N?*AQ#?Zd?`+?a4?c)?`"?˄F?˗Px?r?N?a?s:q?i?nW;c?7D?bu}?' -V@zEiE? ?B@=?LAջ?㨪?u_}??b;?)o??PZwM?T ?sZ?gr@Ѳ#?q? #G?,[|X?^?Eߌ?`?,?atr?m˚?Wp?Ol?>&3@8׼P?A66?@dԅų?,k?gc?+ 3Wc?*b?=MrK?z?ͤuw?Hu?%?.)8Ϯ'?Æ5?&'-é?03?' ?uj?\[?t`;?x?'I??`;.1?GVL?H+?L ?܋=?z`L!?A?E? j?UWc?VRt??!BR?E+?k?8?w1ț??䭀 E?*p?VP?O{JW]?"t?V~O?ǻ_=?YД?7e3?qn?`R?,T?ɨy?v+OG?XĽ?$?cL?PM?R?ۡ?( ?ҽ?16,ȥ?ùG?ZUǶ?܊3Ծ?My?԰?3z?[?li?s ?M:YP?m<+?4u6?W;[ @}`:A@Wc @@Cu\#@9@^y@g_h(@ŠR @gZ@@*q@m[ @r@q @]a@aVr ;@qf@w|9?y?q2C?*ZR-?S?lc?7?p ֘?+x?xz?ml?Ѭ@ @y9J@$Z@`(@lu@sc>@c1@ 7T@׎;@Nݦ@:9(q@HuA@ƹ'DI@Uy @;!d @\N[-@ Q@m ?*ڲ=^@U@`9@9g@(@RR8x@/]@"Iv/F@Zҙr@.n@UV @'Y!@kj2@I@ f?\?|i?xN?AZי?toSA?7{E?0?`(u@H2g @PZR@5l @d='@dan@c@is^H@$>@\EJ@ ES\@ i@Le@(2E@G+_m@e>@"7NH @C![@<:&f)@Y@&9?(w;?.}ws?beXڳ3?#'I?O?嘣?%~Z?؞,?|u@8@)@,@@G+˵@UH@2z@w@b@^@!ϕ@@끟O<@2@Zz([@{HG@ďW@k@U˵ @Y|J @4sS@-Wp@_=Or^@]-?<~_=?zrF?K4{?o.C?{?Sն?e=@u@M}AH9@mTth@@hb?^|@|<׶@j- 9h@`|@)guO@ǵ@E @a?@@ho=@s]{A@géo @Tb @{–@w@uf?"8J?Po8?Z跔d?K v @hEW˹@}1@-KE@@OJ({@0G?@ '@Jps}@}@D @F@ʓX@@uR`@`7d@Ez/Y@Я|!pN @NB@31G@uPm@Ey(?Վ:?L,?A1V;?gv#?G2HV?>t?P=h?:+`'?gcϦu@Âs @KY @ҵsz@[3F@gO@]@|Ü"@nD@ rG@=Wf@l;q@e. f@V!@ȉH @-) @A|D8C@'"!{@ݼ@p.?far?, Td?UA7?SzF?6b?qsD?Dw? ?d-=@$ 0@ Q0FR @v]@s@x@ ^@R]z@2E@UC@ @ A@K y1@W @po2 @t͠@^G@3"@7#Ή?uS5#?ud?Ѷr?W̰ij?yPmI?t,?'Eu?EX)?II?,cv@|@ics @:YH1 @"6@n _D@, c@mJ@&л`@@ao@ K(Gd@lmSV @1? @02x@}X8T@M @;g@\e3?$~ ?Bo-!'? 甖? ^?: "G?w?n?ʌ? ??b[? "A?#}?Ol?ORP1?{x?B?1e?h2J=?(Ñ? Mfx?‡p?tr0e? HW?/8?4{Te?ʌg~YN?"?DA;?c?mH1?qG?4!;?N0:R@?L,u?P$k?|iy:^? ?orA?+?2V\!?8l?h`,?®+v??? ]_?W8Q?k+~?K;?|?ygw?en!?AmcV?bB?c ?foX?.P֩?uM?aj?J{9\?%|?4?C?z4?(|v?.|}?E??)g0?(?;nT?6?G*n ?v ?:~(h?oeN?!?/Ɉ??Ɓ$t?E15X?]|?e=ݰ?M š?.~?fs?:u?_)(;e?/-!?z=?ńd?ior?s?~{v?F;ה?gї}?1*cr?&?$#?JK։?4d?) g?=[?;E?S?])?3Ms?'? &jO?nr?f\ ?O/Ι?Ԍ?5lY?fc?a$?PI$a ?NN?#- B?Zs#?Bo?m-k:? @9?*;S?\U1}?XQC؏?C5?wr 3?4 Vt?1f?M/^?\Q?|R&??ŏN??—?M%?C#?ȉj?a?%Li?Bq1?p?CB?y?mF? ?{@?6*H?O=?d I?E٠?{Yݒ?lf?y?NϷ? 0?zއ/?BF ?m\?(t?٤?Nel?Hi?]??C~]䈡?7Fn??cW,˄?t7(?A07 ? iW?Y?:-rq? /q??ܝmR?+J?u?,m˞?2Y[?DW?cg}?3~¦?$ ?ʁE}?M%7?_;?D+p?@? ?'"FO?Л?΍W?>?9K? ϲ?VB|:k?>+X ??Pw7v?:?*Fc?r:?ټ?8?;JҘm?GvgP?LWEJ?nΞ%t#?p"Ϭo?EYVKL??>ݳ?}а?!K?(?ꆕޡ?sպ?cm5?d??m_W?[?u m?"?=v?\?X?htM?b]EO?' ?lj?VwU?a'R?N{?$\}?)?/!ZD?T_??R1?棯?r5Y2¡?hp?W?g,s ?mbl$i?pQ./~?m.m?Hf?n$C#?NP3?Mrt?sԢ?ʈ~?PH J?s?jaB?82y_?kDŽ?ՠPwx?_Z ?' 2M?sE? j?7Av?a!ˢ?+?^@?5Y?!?{?^-\?UcLt? jC?V0ϊ?D#=?yS3??\?k?1(3?亍Ҏ?W~U10?4hߌ?߲{?q^p?%qAع?D7?7 ;?sj?"~̶ה?( ";?5C.}?Ob?; 6?M#\?/?_ w?`k?ٔ?Ky-C??0j?5~ T?!q1 ? ؒ4&?NT?"d^?./?>ZSD??)B+z?UGtNs?H5g?.c? =?2D5?ʸ1??ä?V0?F?xLƾ?%ā?lj{X}?1UBv? h~p?Ɯ'c?F?T{P&?~?ɇz?YMQ?,?l.x?}>?UL?y?D0fh t? 7 l?Z-Kma?G{I?wxf!?hQ ?ῇ?/g/?ceKg??v?TA?U)%L?~KF? ? m?;?D|%1?Ӂ:?Qw\Zw?}ۑ&Ѱ?lи웩?iݜ?R?S?#5??r, b?A,P=?fK?ڵ?4jA?sS?Ek?-O$?o&gO?S?ْG?鱢٢?Cd:?8??:+=?5j#?X@ ?\cU?3ko?'cG?Vz?@#< T??|飲???1N?t~Sš?-ßNϜ?ŗ?+?Ũ>3?6z K?3? E?E䳠?pCd?.gӖ?_SU]?3{EƐ?qč?&?L-HK?BxRH?ƻ?1E(?[=?܇?! `?K|?BÏj?cbT?̟? zz?fZĘ?֊U?6'?eᴊ?|,?:ߘEZ?ՙtl?aw?.?h1~?p bd1?e%?eB`?$J"?cGY?B6K?\K?1@?^XƏ?:??t9?Mۉ?C|F'?x?szYhYq65E?@)?u8}?B*Ռ"?^LzS?. a"R?c?$6?\?>J?Eh? 1?ߺ?5?;gЀ?' dep۩1EAt(n?w 3ږ?I? ˣa? aK?E"?&?z?F? K?WoE?v6? 򍉈?y?X~/?ӡ5qo7?ﰕ?CPn?y Sǁ?7'Z?&ו?qG?qv{?#k$e?yN?*RЉ?|? b??QAEJ?m(?ls!ܘ?vj?E??1Q6VL?>x}Ӓ?9ݐ?#K?4f?>?-t@?]?N\?Ck?a#J?*Ev?t̳4?w{? ? QhX?~ ?H?i i)\?sid0?ڸoD;?i?_?l ?!U%?S*Aw?6F}4}?ٞ-?c?UbN}?{U?XsAC?%g#ñ?ł8%4?D?ۜ?m^U?j ?nUuO?"Cd?Ic??X_?1` ??Υ3j?7?FʭQ?(xK?=6|K?ؿu2?wv?%?MM??n? @F?Vs?ġ`?p ?Vq ?/ې?vp?/y?7re?SX\6ڋ? ||9 ? ={?`J?勞5z?ELRWo?y?uЪ?Ø Ն?$|HXY?kno?xz? ?qB? i;v?t)ǀ?Mј?iu?3,XHi?k&Ķiu?H6}?,HO?S˭k?=i?,ן? L;\?((h?*[ ?.p?olx?P%;?:(Re? s q?g4x?= Ws)?T郞?~zb?qч?$~?H?M?R?7kŽ? cD*?1j,b?.m n?Y>t?D-Cz?Wxf?Ze?D| r*?$?9?6?n6 ?%}?NH4~?t_?ki?auq?h'v?Pڄz?.S)} ?d?P ?oO?_bم?)?J?Z` =4?!9m"[? qf?A o?N4ys?(:ew?"c={?.~?.ZHـ?)3??T㄃?OE? ΅?8x? +X?쳤.d?џ3k?F;q?G_u?=]2mx?&&%{?\|j~?`6牀?# Ɓ?UqG|?Dq ?ٖ??* V?B@b?sNi? }p?J˸Rs?3"kv?_4VUy?ڞ|?ҧPF~?E^ƒ? x?0?X`̃?lh(T?Q~a?=\$g?Mi) n?0 %r?Eu?>7w?1Łz?'|?W?ɀ?.BN܁?''? ;=KO= aCu=:zQ=, 7=µ?a=L_I1>>5>m㕛 >Zh>Ț' >y(>w\߹,>Y7>M9dA>VHDI>CM R> ѕb>݄<^i>4q>' y>Gw>!"m2> s>iؿd>6>~>$/>9Z/Ɗ>1cmq`>->QK@>%C>+M>K>leR>7<>V>KUB>j[>La|>Q>a7>vj^n>_Az>8w*>0W֘xI?i`n}? Щ>1b">MlU>`>TyMV>ԐGl?ljGI ?fnK}?w?9u#?ygj+?/OIn3?L>J$ ?ڝsn?#̃?585!?[(?/+1?)8?=<@?Ϭ$=G?VI0P?ٲW?N?_<$?{ͫO/?j6?ƶ& 8@?3_;F?Q릒-P?lMm)j B>gz{@>oL9@>Rc"A>KzA>pLA>EA>b0QA>]3A>3YA>$%_.@>{c@>_Ur?>M~PX?>s@>.\ E>_>w>hO>481>+H>uI>֩b8>@F >'l>~>wJZ> e>i]Qk>AF8>ޙ~"ȣ>yXT%Ԣ>k > r->k6>p[zya>4tI>:sf>3W>Ah>s>}?> > B>ƧF>]I)>*R>t/->6>u(>m S&$>K>W?;A ?_!?UxS#?($?TL$?y%?m %?g[%?Wm%?w7p%?pC@$?Ӣr3 $?I #?6;"!?Mh[l ??{V'^I?tL?!{N?c@HP?"{%Q?*Q?棛QR?R?ux'R?^_R?$ 4LR?wֺQ?5`Q?[;P?[|Jx_N?K?} #@I?z(n?תjZ q?_ׄr?fs?SMBt?Ru?+Ev?u5pv?)ɠ*v?措dv?T\?v?"YHu?4Tt?<&s?T vr?p:p?H!n?H?H-? r?=徤?n?o l?mi~s?#S?6&4 o?6k;P?#>?筊vc?bIX옓?V?;jd?3/j ?iŁ?ԈB^?.2QŨ?U?׊?5G?5z"|?m^<-?c9Mo?@a?f{m?|(?" 5Un?=΂5?/0马?Ϫ?Ghw?pUCE?:r{(>>" >I4> V>8ok>:ЁF>NE=P,:=Wq=풥rP=Ƣ_=CLD=ҩ/>^A~B>[x>[q>?|*Sa>1>Y>]Q>Pq3:H> Z5oA>.sM6>%TGd+>Աq>1>"Lũ>@"u>?%G>=?>*>Ư2>dn>8 ?>8~>>r>?_PB)1?qU>++X>Px׶5>'v>[]N>m>,>SW=>x>dki>8RU3?m<z+?a}o#?U "?t?Q ?L?梜+?>[xD~>ȍ܍>&:g3>N>~. pW?rP?TznG?NS@?R^Uu7?l70?ӆ'?+ ?x-?>??T|(>\V v?H@oXo?ĔFf?{_?&iyV?O?WɡF? ???v[=6?n.?>$?y?xW?3h"Hk"?q_U&?]x?5կLq?[a]Jh?R`^a?܀v{}X?}eQ?ܷEbG?mh-??u2?ж5g`?IDGj?>;At?7_}?RP ?+ﻘ?ZqՔ?zJ;mH?!x?S?*MF?y?*if? =cr?tt{?N2 ?Vz?(-1?y7al?f?b ?(?C1z?jJh?P,m?CX]x??$UOъ?k?푈?uC?)?E"?RځI?<-s?kX?~Zs?YҮ@#?xrlmD?A`h?(?'2r?%Qި?N,v?R?^3?`ES$?g?uWy?`Zń?6 :?ܯ?G{N?t]?κ#?䅪V~n?nAy?M!?F.:,?Rh? .?e3A?zb?],?hQQ?C?k&?HxJH?f?ٳRJ?՜4σ?٢[eb?K?j1aN?8XE}??% Q2?DǴı?qܳ%?{zq5?/)2?U6L6?z]Y$??Y*@q?9bth?AQ?mmج?o`?^%?YMV5߮?C+?FcQ??WƼ/?1U+?vK?NS*?:L?} (?/:gz?Pon? "Я??;m?^T?$/"??Io;?L{ƛ?UZ? B?m?h? ? N? %?Mз?RI;?p?-/ $?T`2%?2gkY?g#?ݝgӔ?f[??/ |5 ?Q&?Oμ?F?t1ͧ?lzI?|?gB?/Ĺ?EA?v?83?]Q??'?}?GZ?Q?7Syy?%nw[t?8f? X?%ef?3t?JU+?(]hP?( a??ݭw{?nH??J5?ƥw(@:w@! @ @1Gֹ@!V@.3@ssf@ZȻ%@_\@{ @^X | @HM@)pJE@ꍸ@hW?ݩ?C΁u?ᬈY?s.^^ix?X%=?tTB?(KJT?zW?!m?o>?Xx@#W>@/ @D@AY#@#+`F@5@,=N-@aXz@u@@@`@s&8 @:( a @ =mm@֘w@_@] ??S;?C?9V5?; ?wT? HM?E?Bbȗ$?C| !9@ܩ?} @^+@V5 @?p@ F@q3KA@d@U@FQo@L{.r@@A3@L&饌@mkot @V*A @E@\@X4)@?L4?ud=a?u3(?bM?P`?ny?[ ?T?3y@;C8Z@6}uE @q.!@?|4@="J.)@!8@Z@S@z z@3W@Z[t7@15D@ĺ@ja &@.Н @ˏX@k-x@>T~hN@٨C?)4^'?K(?r?,<,?uR?Jlea?=v2?@ @Ox@ɚ@.0@Ն@>F Ȍ@؇ @ĭyQ @$00@R]@@5Ŗz@v~'x@vޏst@z~ @)U@2 @4٪@Z|?z&lK-? ?5`R?wy!? ZR|?SY?S?(9Y<2@TC!A @Q@;@Ʉ5$@Dx@"S@I\~ @-@n^!'n@!d9}@lS8@lױ@0@ʩ*D /@Q n @2 @m*Հ@e3@HvCX?8|?Px?m9?ް TM?GQ,?rꧬ? p ?l>;@+-tV6 @뼐@H@eyP@.$4E@.ram@8Ja@?;@p/[@k0@ hP@*2 @s_L@D* r@4# @g @eL@[@x}@!-)?)V? }?hwoN?N2?5UW!?Pɰ?c @ਲ@@UF@7D0b@³'>@~@0~V%@@wsq6@^=DH@` mF@(2@6!@eHU-@kDd@i.@a.`; @~~ @ 4>e@W ڠ@i-N?@Ue{? ?7*q??5Le?/6`$?lx~@, @l8"@@d7b@97@j|@1x1@]@f @ˏ H@ě"&@;-t@'AK@tp%G@"ͳf@+|7 @"LLM @d r@kn@L?m,X?U ?R #g?v?ǩ?fӯ\D?rvB@ @8@1k@ @⎑e@JU@" '@hWw0;@a@RG@T @8*FWg@U񥕸@4}3E@>@3•;| @8@e?!d'~@yEmj @2U@n0@ʭ_@j.@J`.@R"F?Bf=?tTO? ?ņE3n?m M?ð۱?PX/?x@% @'Қ^t:@ @5j@ZS@ n@5@,ZǑ@u 2,@/ C@)@q,k@І)@~ @l@fj@VN+D @ab@piB?O^?Y#D[?GU?3EN?IF?^U?k^߄?H@D[~ @s%@|i\@9(7@W @lXcL@$?H@0^@J(Q@F7v@$Ej@Wht@u: @d)9 @eWv@ݨ@bớT@@WB@5YW@ot1@>O@wDe' @g⽩ @ @@N@Ƹ` @C@v ?F"?߼ s`?ݢQ? ?bN?h1[??G?57_[?+?뒹?0m ,?ϞVҩ?i<[W?", ?n y?03!'?Xq?y?Lx{jq?"3g?U\?ë<{|?m? >ǵ2?;zt?nɠ?ˏwї?;ܐ?(LJ?l׏?v]v?=ȺOn?Tnb?dB?{ƞ2ʽ?w,*?,?gX?n@H?i(qp?RW=?#m~i'?V}?_Hs?ױsg?L^M??_ͦ[?&&!ܲ? yȪ?MA?[&e?畹ƙ?\07T?8YB?^aaB4x?m7wrm?QDI?^$?k#q?v|[?}Μ?'Lq?֙`?1?>)lr?ч-p?~?*@r?`)?.RN??!?sH?˔p+qȬ?U[wb?4n3Ü?Ju ?z@?/H]?3Yv?p?n?Jv?xK?T4KA?\O?pnNd?B*?d[hb?v6V?p*Y?3!]7? {?\.M?J;N j?@y3?V5x?\E|*yC?/mDgĴ?V:dl?NjĤ?w7?82?3R?pPv+?5P5?*AՍ?h?P?D?+ 0RL?՟{^?E~i膨?p-?쁽H?~™4g?yz{??m?'W?\?TIy%?Tkl',? F?d?;nf-??i?6H[?@\?"'? 3?^k?ka[?7G0>?s K?,%@h?`?61/^/?g??wuku:?7މ?d3?Uy?9o@?e~?eX??̙҆2???7E?I?%?rGMS?I?ω? ?q?q7YB?9-?yfX?eRG?'[T?9F?d LŐ?mm큪X?9?:'Dz?WӻTx?5y3B?Cl'\t? ˔?.ݷ?l,Cð?M_&?V'}О?Eg͒?]Dš?+F?R݁3?Sc6?6&wk?MX(W6?q?""Qf?f/^?|? ?1ޔ?Uj[?"e\?mXr?_ Xr?9o?9'?( ?#L?~<N?4^ ?ZVA?rk?nP3[ ?dYW?]?[4?dJu%?+}?"wT?=6M?Zg??>?D%i@l?)PR?Kx0?/?;$ ?Dz,D(?y?f*۲?+l8?Y#_c?%G,?O-:? 7G?Ta?X?g͏G? ~4&ij?Իe3??S(q?t?*?G4g? Vﴥ?Xu$?f?3>?cr;?y/N?ltO?K?nn?dǟ?4Rz2? 7M2?JL{?]ɗ?/&eF3?pkK?yθ*M?.]|?}5㚦?Wy2?_ST酣?>ܩ?RuJa?_@Q? l%?S?sЍ?O{ ?l ?h<߄?D &?(vI|?p6Pu?)Rl?s?L?6?Юr?{$4f?"?Mؘ? ?%19~?L9fx?Dkr?Dh?|1q^?h?rM?;G'?c6b?V:gd?{Q܅7?f?)z?Q u?8|fp?HVe? 6?`d?Ə?;V ?C^?+@Ƿ? k5/?궱 o8}?}hx?7t?[Dn?{{NMd?>tj?ܱ|? ?Z$E?po?i?iݫԀޱ?I^Xm?x:i?-i^۟?&o?h'Ӕ? Oe&‹?RM+?{n⛋?Ow2{?f?e?j E?A?dθ$? {"?oPXl?1H?Xe?zU.?z.sOz?+ܰ?'as>8?z>F?ZB.?̠EV ?x? rwϘ?B򋔲? p?يӍ?"=?FU?4]j?!3I?^ƶ?+ A?3?~]Z??1ޥ?\8F?([ԛ?$9?q߫?.c?Q?E*$?o.u+?Fnݳ?ike.??0FJ?JL??Cy??? ZГ?mA$-?\ؾd?5Y?N ?bn6V?E"q>(?>?|{c?EzG;u?NP?8t=?Q2?T1?$N_(? !?_F?2 D?2np?-Q(3?P?GmŊ?k2,l? ,?LT?j^(?~.?L՜?͂罗?'?hK.Q?<o?y݌?BAGh?10k+?Y5/U?#j?VQ(v?˜R7?Ei/?nI0ڡ? z@?&D%!?*%d7?gx"?xSᄄ?@v3?l?BSщ? F?^ST-y?2p͘?~x ?0F?Ʋ&? g`?g?زI$?If?|8?J?2?nһV?@x9?%x ɇ?3 9K?CusK?WZl?s@?WtX`?e ?WS?TՔ?Z7`?ۭ6ZM?XkD;?c:-Ŗ?p?LUH?M[w5ސ >%՘?I[uܚ? L9Z?`)?m1X?&FQ?E̘ԓ?˲M?Vej?qoM? X1ډ?k!ߡ?CN7Ɔ?f8޺b^O?OVD?o 66k?xr??.Mq5?l? Bi?E_N?ej?. "?jCam?A?PJk*SF??"L0?<H?FR?KVTo? 6G??쀝5?)ui?C9CK?v@x?-@?f`?VL??z?}?jwF?<#^x?_#?!(Tɶ? VՎ?/|I?M'D ?C?@\L=? k?p{J?c0!B?wf?r`?D8?5"^?-~?pZ_?x@V,?e(?C?PQO?}R?s?^?.?p|ʫ?$}N?d͞?CS<?F{;?F0O?r?^kAi?MIN?6ZR?I?O(L?qAxX ?X):?P=#1?csZΉ?ChA/?[?`?_?Ɏ?B,L?n?6A? #H~?ai>[?? |?/1? UդՋ?y}4?^-ZH?m{?eJL?(?:̛?>d՛?I3n?wbߙ?YLw?@~ 2%?L%~8?ۋ?;AX?^`{?^W]A?cgD?;1.a`?p\𶩖?ZftT?05?ִfr?(#|?>Ʌ?&h?-?d ?|Yw?+Ζ?$]?v ђ?eo?T ?mXo?RIw?e&~?yǣÂ?sEo?MɈ?9-һ7?_V1?x?BaϏ?eWM?5? oAj?6$\s~s?fy?mHHd?e43^? $iƄ?*C|?^?"?,ΏU?ra,W?k)NE?+ 97Lf?ap?#>Ru?>$'z?H9C?6?e?۲MsY9?M ?s\߇?]W?S$W?bBc?F U)l?[OJr?Yw3w?t9a{?Id~d~?+?j u?P?܅+4?Px,W?$Eo?`?"9i?̮4p?@ jt?|/x?{:^{?.+x~?切?P=?rv;,?f'N?g?L UЗ^?}Lf?K"m?Dur?" Au?Kx?*p{?n8v~?~U}?Z߄c?vgʂ?z߃?YIHD\?=܌e?aa$5k?&*Zq?^g0t??w?jey?a;qGy|?oӭDB~? N?;fB?Z[>ǂ?m{Z?yҫc? oXj?9Ap?4ʦ6s?DGv?!x?rEYd;{?8).}?Ci@? G ?B8?; s=0o{t=@/6=}܌A=yd ¸ >R7>èR>StEO$> .>ib$>!DK2>}LW<>7oE>^ᢹ{U>Z^>%tae>On>ŔLV,u>&!z}>2>j>>4"k>~x>EU#_f>AP>1V>ab씡9>r%z>刋>.ju>Ƽ>?(31>>NO҃>m&> ٢>;\>Z b^>ivnp>mJ>$N<>՘n >;A>+<>ꔈ孉>^ox>wP??Zv/ ?3r>rS>i>#cF>o>O?7$?t.?5(?m-&M ?,VQ'?$Cfc0?[ 7?y>DVJy?L3: ?ߊ??}V|$?He,?-3tC_4?Ѧ- bD>=lEA>R z@>7 @>;hbcPA>t"A>)A>PBA>6)BA>Z+A>x#A>F>@>cK$@>]s&?>,?'@>/oC>K%N>؉)'>,vj>6)̾>#=>ޔ>KAL>!86V>ۭM>&Dl}>t>V}3>A >gy>e!=>8ҙfN>\>[>à>] > V>~C]>Sp'&>8K,>bSL1>Q>5k̆>d&F>>˺v>61>X!¬>3>٪ >7G5!>Gz>y2U>"(0?~TG?7Ɨ״E3$>my !\>S5>(3~ >6>x=ճ!>=)p=[$f鴽=Oܺ=DdW=Z"=0D>Yw>&F$m}><<ܒu>^ m>L=.e>S;We^>6U>ɰM>,yD>aT;<> 1>|j7J#>Z>܋x_>LN>OrL>~~IJ>ȃg̬>ʪa]h>h%ל>rMiB>t >oO >5pex>>m'k> 1 ?F7?eiuL>sd>7q>t>0 >oՔ> >yHh>D(!۹>e>jko>~YC^5>򦯂>E?zR>cML>]خe[?&>S?KNgL?zюxFC?h/ Z'ʷI'z?iW`'r?Mlj?b? /Z?qL1R?s{J?ƹ[nB?j :?J}2?8|b: )?@7 ?,1N?ƖS#?o?jOX?Y|?;Pt?ҕO$m?G'ODd?:1[0]?PěT?\AhxL?hÊGC? HK8?-bY+?u79W?Lۼ[e?*p?gwx?reW?$e ?GA?9?NVMZ?y h^? ?yU??+13G`?O9.m?DDWv?UĴ?1?؀5O=?`V?L9٠?b;k?!犝?kS?f`?Oo<?A^se?b!*]s?Z 7`~?ot(X?VM?vd9?rE?*K?ǟk?e/?I%??Ɗ?dul?\y?V?pL??5!ŝ?XjZ?Dے -z?%0?fhN ?E`?f?{WUM?@ghr?h{}?p멣?./%ؒ?_y?ql,"?'?T0?&Xt??z?@i'?P8OZ?G??ψGw?,r؄? I3?*0ϗ?({?5 ?w ?z:?l`{?zZD ?mg_?'_??T[ ?.pܵ?t&?H?M-?Ri"?N y?fٕ??j%[?nVX u?Blj?iV?y!6??!{Ĺ?S ?HY?'H?NC2?gOd?^?k??E>-?Xr?2l?m)]JyX?yZ?L?=q-;?w!?Up?)K?oi?%ؘ^.?(T.?51?|2T ?>?z4? Z?"Q?=@?ʊ#??uB[???c?Y!?g?bf@4?ﻉ%?aI?ꛎs?}c?*"?ά@>?h,}?V?^w?)ei ?rҠĢ?!C?.Z+?0n?_Or*?,2?,I?8ޑ*?!7?(i?pk?\XqU? ?/?& 3b?K?}ti? +?<?L01_? ,#?:`?7?[)/?[{ Dp?a#?~c(?? ]ظ?]s:?=n|?5&*?g(s ?{?rW?$#?ĵ`R?4Z"?8z?O?&Q?iM?p?B$?: ?[IS?T?R6s ?g:5?{ [4? '@9(Û?i=[?hZ*?ntk? U?/*?'w?"e?崆Wo?5u?J2 ?S J?@ăo@i??`-sLm?u/P{?D$?+vZ? t?N?[? ?"P"ҧ??i?C p٠?ҋ^@c5?ODة??1?~)@p?Dnzh?L?'$?`*?ϭ?z*b?^i_J?4{?k?OP?4 \V?:ɨø? fJ?$>?/!?J?ֱ"G?9b:?ҟ?xb9?T~?Ke[@?֝ m?\r ?e?ݶ?κ7?&AH?H/ ?)k!+?WL[?*x_)?!?g)u??] }}H?H..٨?`kwI˲?ߤ?]j?j@>,?I? -*?&Ira?3bb?n"e$f?DldxZt?3?հR2?gҧ?P?T`Z?=)\?ֱe?]K @?ҤY?3:?mi3E?ĈY;?ij-?ro?:˙? '?.ЈB? `V?UQ&?n?TfA@i?#?oh?_}?7׽?j?m?%DV|#?ύ6?zh*gM?% ҵ?蕝]e?j?"_X?RdTg?7>?~?7x!?Nw?-?+?MK?KOQ?d>?rQγ?mNl?D`\@?s|3?l@?[^>?a*?O}??TFt?u?ӿl?xbeW?<Ջv? kUک?e?zjj?.?7rƑ?/?H?>9~mZ?U{?,韕?n*"̱?^i$?C?Bh~T?W?Z>yn@U@~_= @ cZ@$@D.@qz@Y,/a@c{L@ -B@>@E@v@Tk@@QD P @gͿ@s[=`}@Kw@ O?zNA0?K?kcT?8?pz!?Cvlj?`*?{lS>?3?ulf@ " @d@@Ҝ@#$r@'Z@60@sϔ@Ë& @N/+$@=]-4@RSh@g~@3~XL@-_s @ ) @<ܡ@g}@/ ? j??&?u"?# rpX@ @oD$ @ z@ngm@:@;?'?;9d?^E#?S0t?)Hf?ܪz?5?1t@S:me@zre0@pN@ۨS`@@R@>@Y` @RP@L(a5%A@'&@+NJOy@@Py@w;(@ZVzL@7=Q],@ @uX@žK) @E@_@^@\?Q?4)[^"?^յ?Dl2x?6C?`X|bA?S%@֭|a@E@FNU[@-$@l@}@]@df.@75~@'#?@J6g@'ߛ@` @|tœZ@KJY@H#x @N @qif@!@ 5 W@/?9?QS-e?vO?}??^0;?OE @,] @Mb@z Ug@8\@ ORP@Vw@~4m6@ir;@wEI@Pi[4@*/˨'@~@ݺ/O@'f@H͒[@2CGM @@Km@F `@Ƣj?Iw ??!\? 1|)?Y:M?S(Rq?x;+?Ǘ@N{ @|7l@I];@V|B@Pb 4@ل_t@[G@&)qeR@-A@l+ %3@yx[7&@N,@Wek_@:@]ha8@Xd @e&%@[ hi@'eq@HSl? VbX|?Jt?l2MC? ?lc?/ ?qY?/߮idA@Q @ Em@gA@H<A@@;KG2@6$4@f_(@Mt@\b@ş@#.[5@oQ:KC@o79`|@Yx"W @5:/. @o&@R!@َf x[@? \@6?@괸2@Ufr9v@wE_X@ СA>@F#@M_IZ|@*@&@0W? .շ`9?6|ǚ? f3I?~Z?D!A?T./?|?;6|+X?e?hA? (Yå?30?ti0?Dy?,?Fu?~?X>su?dfFm?+*b?fT9/-T?ho?pOQ˻??-?u?GUH?, ?ɏ"cV?HJ9?;0{?JO%{r?ַ h?Z?(/?[2V? ?`hcֱ?\U?V1?2}}?Lҙ?6ΆS?ȗ?ҿw?]Vfn?q?!a?Uz3?m w+?З?ڡ`?9cɯ?T?=K?{}J??ɏ?+?M}?rRXq/s?0 _e?}uR?K4@u?n?"?8ZЮ? B?Σ?;f+?(B尓?~]?њ?˻w?&=cز~j??Hn~?BX"q?dc?q?4\?d߁:?͓,"?AM?-?.tݳ?~b}?;ǩ8p?,*5n ?.xI?( :$?D9y?-6? ߭襴?Kn#H?:?_>g?8!?7t??{*$[u?\? g s? ?_XS8?+4?$ ,r?K`]?ri0?+'|?ש? dg?1X3?41i? 3?3x|'zw?Lh? ):?Զ?#6 ? t'?d{{*?2πF? | g?&"?cQh]ҝ?a^ua?2O?'x ?CLX? ?ǖ+(?[mQ?h8?*?ʂOO?'.j?G&%!#?RY7?.+U%?xB?3?C2?֑88?h?nz?K zt[?1?PS8?n/ȳ?P ?5tw??qD ?C?$_Q=b?\G?z(k?xh?mX]?KhW?)һ?k3?B$?;q?u _?3b?r4p?jHƀ?M?;X?f)?{U?u AԷ?sgk?PpzY??N?o2s>?Т~I>?Kw?V,?|??N?6?JNY)?1S Z? עӰ?p&?H_o?0?:`?xz?|!a?oӸ?6?#o\?#(?qyR?挢?.]?]5?g~ױ?5a?8W?Q?Ly7?Icx,?Yt?$RUl?JH=? v?6?6~$?pUw?%E͓?A??x]x??ݰ?4@|H?M͎?g׷?a?,=?;9H?m? pY{??.?_йL?Ar`c??Aد?Ђ=a[?\_F?Z#3? /?~ [? 9{Ȃ?jv?fdo?LFdڡ?-P?ZʚƟ?Tl6?oa?V_?XSC?ߤ ?W1?rkLS?gw3~?dr?$؜?vC?: o>? Xh!?pW:?"?K{Β?DSte?f>WՋ?ˆ? S? Ny?v>Xn?ސ4a?ckn?ZEy?#H@?j ˒?V3%?̴ؒ?qJN?c8? lق?#j}?}@ u?ÉHi?7V?ХRo?a1լǬ?I!?h*e'?Q Ow?f?V{?g/;?Ը?jm?x?SdKq?mge?n?ן???QD<}^?j u?<@sG?p3o߅?|PG?*_>?E2U{?bnmu?%n?3ү/b?nF?U\u?1o2X?;SI?n.eL?Bj?0izS?<"?$*hVS}?ECIx? as?jk?/`?a?X'"??cX6ن?mY?b ?NL&񭿁?()3b?e5z?aM5av?˕q?HOi?I$^?(,?+=?^?sJ;.? G?d¼?)~D@Դ?(PރҮ? [K?(mpQ;?F6EUa?7?( ?vm M?:'?:?B%2~?,?o?aXa?b?!?+t?2c?&~?%~ ?/%?;A9.?lɨ?v z>c?m(?=*?Vx?̾͑?e$?\&?1?A 8?J;.-?{?By!Ő??&?ⶢ?"έ?zQ@"?;qO?)a-?=?%ϙO?~<[h?[?hfj?'?s@~c?7X F"?"U?Pqcڏ?Gs?z,?=GD?ǻ @R}?> ;?>e?>L??o?ox?`_[?Ԙq?CŽ?%[X ??KxQ?xi?ģ}x?k͍Ψ?$#? -?dž?КZ?q/ ?6aF?8xSEw?ֻG?橠$X?pR~?ֽD'?`h⓾?цA V?x@?.L٫?}S]z?61\?i[>S?H8R?~uk?iOg?r#?֌?*Wy?P;DI?&'wS?@!2?e?!v?(j?0( ԭ?9x?jѠNS?K?/}f?o?zߪ\-?&"ő?wXS?%G1?wVE?? ?SR3?SϬ/?_xK?OM0?|,?z(b?dkk.C?"eÜ?ڈÖ?:m??y%?m?^h?{?%k30?F +Vҩ?DˤS?,? MZ?wqC?(Fa?c>%Kk?n?F׮?٣v?W}gFΒ?U:?~uC?;܊?|F&?: ?K9uniPz?2M$q|?I?6{p?\1Jn?i-s?j,7ݚ?GOoZ?߽?L-? `T?EX2?Eݭl1?Rml?7L?yǠ¨t)?\I4?:FEl?9?Wޤ 8 ?rg}?hU81?3S`?/XJ?H'ӎ?*D_ҋ?l?.j?Y.7Ԇ?٩h90>M?j6?(> Z?]?8w?1?$5 ?S?Vk?G=^|ƍ?{*|?Q#ac݈?f_T? Y?7w\a*@|ZcGH?9=??< ?ܻz4*+?L_a?Z _?u+?7l?Ñ;;?O?*Ȍ?G3?U.Q6?3+Cdž?T<,܅?I׳F[ ] B ݙP?H?_ ?sx}?+dq? +)]?H[4?|3Ղ0?g3Վ?֚l؋?+aRn?A?Rtu9?DI\?{<4$%!Jr7s?w<(Ԗ?n>֘?/iF?[?g%?喻Ry?r?LO~ƍ?dQ?`Ne4߰?Eu? ?ᐖ?g ۄ?Tn`?ZQEE?r+?O6`L?3R?զf?N9ȴ?Oa"?d?A?T2>H5? ?Zc*?IdU?5l?d1?%ܞB?DHߦ?ؠ?;+?yU? ?"[ִ??(%A;?Rç?n/é?6?r]Ä ?_?Dj~xڤ?*QeU?K2)Х?>,?7? 7{!ݭ?!(By?$ވ`:?/̩?2'tm?wa,q?$S?3{4?9@*?cJ?4m{-F6?6 ?#"(i?7❦?s?B ?nYP4?*?ԅ+y?n_?9(?D6SL?,ě h?yb??>?c~۠? `s?MR ?g e *? Մ}?ƺ*? u?{?X?oplq?bjE*?Nǻ\ǒ?@鴕?3ތ;?6k3?}w?Y$?k`?Rz?bW 2?Y~mIq?:eI|?>Φ?qLeRH? T??gt?ik?Fq?ob ?|Ŕp㔖?{J'?0lT?.m?n:sl?Lmw?و\3 R?rXY?dĹ?@*3e?" ?f]o+?Y?ϑ? K??F"?,!g?Dhs?Wzpz?v؀x?JL9e?l^j?'?"3C?gY?ƍN?7ė?7x?nwА? c?Vp?!v?aQ|?ͽWI?m?l& ޅ?BDFЇ?1L#3p?-մÊ?(hڋ?)F Ό?IO#`?Y:== k?iZ/s?:F`/Bx?ڄ-}?!?&?JIBo?μ[P?&,vF?X23o??Wz?r\?^:cWg?CAp?wxt?$Gٟ$y?G}?υF?]?ѴQP?H??=;Dž??7?RӉY?*z e?k Am?R-nr?>=v?֨y?-|?O~RX? S?_7 ?,^?:܄?\?ZW?Cl; c?MBej?qp?W`!t??Tw?7{Uz?)ռ"}?&?9C?$UR9L?&)T?0p+`?I~v-g?Uv{um?uq?}t?Ebw?&8y?i;q|?zl~?۰?IW%\?zGh%?VHA<>D5A> XG>(CBO>[-X9U>6k 4^>Fe>vm>fQt>jB|>7z "U> $K>b >}ߌQ>:c$΍>[I3/>P̐ƛ>q:G>{Z>U ŜͲ>o<$W>,%x>Ӛ>T9>jkA>C>PM;>aC{=>:.ym>ϝ>эrl>􈉫J>dB7p>$?*=m ?uO>0 u> >$!A">Z?~3?jYD(?c)dr?|pn?&?]lKJ.?5?$zd< ?+cHE>?\?G [J?Jf#?0+?653?gZ:?IwB?gWJ?U_!xR?dY?''?yJE-? 3??-:?g,vCB?tNRI?p{A}Q?uX?`ͩ@a?/5,h?#p?})9w?uMA?2rF?s5,VzM?;S?4& +Z[?=Rb?cIej?un_Dor?2,1y?=w?Q%3wR?ì?2&^>ɖ>IV=@>F}>`>x>czMt>}9Cn>Xpoc>UGQ>Ԉ"13NAZ7"Ch'P3fqgU1Mv:zQ)n~bD;7s>D½}[>9B\>yڠ>hstqb>Hi~>*;F@>q>΍Y>fùŃT~WD*6Vľ3ZʾGоB]ҾEwJԾT E?5 $?ڻ Z'?n*Y ?U4Mu ?eTl?P'{&>L #>9 >O/oDAǁI`˰ ^ӳO6I A b/K,A?Tm@?%}=?١iX9?Vz 5?XB1?=tw^*?__!?:PZg?qxTȩz&|'{yD%<0M.3L& 4e4z|8&<ŸDU@m >f?( Cd?$[?X,&U?C{P?E?NW!.3?^;["(<J^P[RwձX4_^n^ a-%d|?A53a߂?R3?)blV}?)ȫVy? Et?Wln?92Hd?RR?W.a+F[TYBۛg.wq0ѷ`vF0{mF:_ࢂ!?&fk?(jD?AC?;GD ?}(j=? c?]~?oʳl?%ltAR6ErUف1HNyRҾ Ȋ)䔿¡H/%n*֋K\W|Ŗs2dSl6~g-dH&3K\*sT ODjin@Eew?Mq!¹|?7ʂ?iڳ7N?),(AS?? @!?c[3?Ԫ 4?֨?s?;?a~?%ъÂ?qꆈ?< ?Me?9{2?s?gF2?No|?z4f{?zqS>? ?Q9? JK?4qP H?Em{=?4)?}捠R?9XGn?4]?1uO?3 Ɠ?_@?aя%?xb ?Eo^?YB `.?y'O?#6?g!K|?|b)?ý6?0*>)Œ?rCw?[&oj?=h?V!?{`( j?:̽?6bT%?mb?*~!hI?[d?"7m? hߖ?C::Ɲ?R#X=?֨7?I\u?!#3?j ? hW)?S;͏?-'G?o~*?b"?Mo?/ա? F:?ݟJo}C?\`?"wT?[ ? 눤??PG3?%j?p+/?&4? " ?mnb!?HPr"? 8L?ӥYR/?_.N>?`U?_Y|?iκ? E\"?9S?vǩݢ?Us?E8Q?H/T+?RLo?5?lj&?C?|A ;?F }?-Yダ??”?+?_.2Z? tN?RFnX??Uɒ?NDM9?s ?5`T?X>J *?ʙ?4}?%h՝?K!?DDw?Lz?|_W?`fs?_\W?Z_a?gA`Y?LMa?AZd>?߻[T?{_?=Z?Eˎ??Τ?-y?A{]?˼?.d?%?)? Z?9P\S?<甹?Wg]`>?_kx?bXR"?>?Hg=it?GOU?f8?=f?l<ȼ?vW?9L$?|K ?x?#C?&t1M??9AZo?_B?cN]z?n?6d?!_u?ʇ_?X#p?I?~47c?4dmG?ry?+zWI?;K?>? fV? !…J?o?̞}N?9?\ ?Sx?$t?P ?)q?©?ga G ?]F?_?#r`?ס?>9 ?8W?J?u \>1?!e}?0Q/=?ղ4!??C?+?Ԧu?%#?_A9?$ )e?;Ⱥ?.d%?YD?oa?OAH?FRE?G20?b%B?YQ?Î`?w?o#?[@D?G?{Tmu?:M?@ -?܍jY??QR ?Z=-?HT2?g?mv՝v?@嶴?,Y5>?"YV,?1UKڿ?r?qx?N?/ȼ?,?@fFe?X9@:M?_?z*?͵]?,iB?Rw?y;?uK?%jL^?͒B??/˃?EǗ+?xgW ??&wS?.P@?\H?J)F ??%;?ŹN?j;?G?ԁo??w?*v ͷ?f?TMQ4?Lr ?3mO?x u?bV?_^?H?D^?} ? OSͱ?q?2`E?.u? 5?*tq?l(u?%-g?3 ?YRkX?+|x?; ﶮ?LX8?'*V?I\X?#~/? g ?%D~F?*'Q?2!M?t/ ?D)!?q+͏?x>?Y g'1?M:۳?G(@?.G"?a3?]-?J2HwB?2>]*?S+7QG?i$`?JV?5Y{?Oa{?|e2?+04?}{??'\g?.Z?1!???5@;?Q?HWp?(K?so#@†b@,q@6.,$@A"S@a(Q@[ϐ@XҲ@c1@T>A@H?^܉?>l?r,Z?ǕYi?$W6Q?nI?Ļ?[;??^?$+ZC?zG?va?){?21Q?~y`?JF?.=p$?79ʃ@ni@3)@ @? t@<ԕ@Lu@}ͻ- @Q"~?ID?qM{-?A{T?͌?.R[#?ypnf?ȩ"?a ?H?<?~%?@ `?ϳ?'2?]??nKN?jYZ?uD^?i;F(1@tH٨@9@d b@,<@ϐ?*qM?KZv?D\?+Q$? G$q ?@gp?jgQL?` b#?}[?+>#?}?zts? < ?TB?W;d ?D?Wa?V`?U.u?#R?G?g0<$X? n,?|h?;&z?Uc.?c#]?Y?CiE?7#?H?dw?tCU?c+CF?Ul?Cxw?A_$7u5?o9%A?)3|?^0?}0J?)wy?-9Լ?5FNr ԿWc8OH!?I6e?|Av?1?FI!Mc??2? YQ?.+W?2Mrv?`&,E??g?5ݩA?*?ΝTL?F?1? p??BeV?ߜI?74>?ϾP?F0|ט?BsqOo2?`(SϗMHֿS$ɿIǞW?8TS?2?:)?wkC?RF?7?J ?pEa?8vqU?>8{?c`?k#?U?=A+ݹ?O?W6?D&qU?Q ?݃?Lʸ3??^FGJ_G3Wڀzτ 1ܿ{zտKUп$1Oqǿ3DzfSɶrwV| *3Cw uL?֗O`r?n5x?j:b'x?ba3t?2Sqn?̳vc?WrYP?ջ.N &2P:Ye㼮_ѱv`` }7Ép3_뿁@F:Cmɇ%GՎo:D߿/7' ݿ$4ڿOU5Ԡؿ^%ֿ mտ:m{ӿHѿvKmпTͿѝtʿLtM ȿ]ſ -cݷ¿F-i6Ɂ[:e\q3M틳o3m,eL w {VʤiBB<6\g!qD]Eh ʹ鿑fC5dSB*tshySQjI俚JƂX:ب[#dNP*ݿ~|}ڿ+ؿg2+9=տҿdп崌a P˿2?ƿfÿ\RۈL]&H5FIZJe l-7ߠ#GI=%QURWr"GWD2tUuC (_N2￧L첨k| lX W H忍=Dta}4# lP߿=VۿLW׿L2y4Կtпj1̿oǿuwȖ¿ bmYZ@n_~Lw(p+ߋQ7LxX D۶kR*#uESA9ҭUF/3vX￙`'{鿄zD n ^gzdῥS+޿_.ڿ4}0" ֿ̱c)Oҿe8 ο=,;U?Iȿڣ~]ÿ[ַIzOK9C®?$0-@^\ާ>}ge!.P-@QxΔ1{ehojQ.;+ _Υiu!t¦[E쿮L"+ƼS߿' dڿUzOֿ;PҿmdͿW׆$ǿ=Y>Ĭێ1{_lgC[u7l6=ؿB?ABpWinG)6ӣCe <*GY97+I= =2ZGpѦR_|;쿞w?+(km忞C-T(jfa=߿Ě9ڿ…<`տ)Xѿsp˿SKج6s+p:AO=GTj-t#aPiOٽR_<#te/K3mv B@eQ8VKB [6ARf,t?w|zcd!v[ݿ1*ؿ\Qɣӿ ϿWfÿ`h-i yCS{3C*8rg؆y+܄'a!m~/ͻWw$Zrǿiփ6ahRDo+U];d]֔Dژߑ& 1#CS}%40'w]G/ͿĿ o ~9~٭!1N23B 8KhQޏ^ԅc^ށj˛~|leѿɿ;U( .?a њQҩa}堞d5\VW"VԐ@GZP< ~S8?+%տA~Ϳo:Wſkcdƨ43﮿j(#4Sꟿ"ڱ 3vdc%!q~eԄ ؿ35-ѿBAɿ7;N:A`\ꢿjlNOZ$Tň81ݿ4oDԿ"uͿX6 ſ LsqtKîdtA..(V=%j痿@o'8+_%SDN_ؿ ѿƿ]ȿÃGbn۸ձ 󺩿jԖ՘?Ǜ;'1^丳mS g.ۿaӿ ˿O1ÿq~;qto*Ooaۚ@h]-6$߿ᐪ5-ֿ QϿ /ƿ)$*[ 9_Ȱ16<ϒm1gpN]ԛV523sЙAؿ)ѿ * "Wɿei&¿ԈY&ಿl ̎:nf&biC-i~$Y$&Eۿӿ\>?$%̿v0<,Ŀ߸ (OXo5ŮSNꦿaC1iN/v78O;L1&H޿`~ȟտ ,Aο3ƿ!.Q 2':f[K |J*{mBQsD. XF翩ލ4s ΃׿XuZ%пbt1ȿIs٘WE>s%̫ohjxWK@`aQgK],m~QOٿ$d%ҿ\ʿh¿S@ m0*v v4YqN7d9ޢ?>w򿓠QwY꿰 zt⿝h,IQڿ/&?|[ӿR˿%5-Ŀ?JJg̑cb~Bn'y^i:Rh I뿫<z㿭ciaoܿOqԿ,WB3Ϳ6nbſF<;r ?Q;[몿#?wT奿e4G,/{2UVpݛݿUŷ#_տI9/οʏbsƿ %ػoGiW]UJ:%nIL{=w7 yk~VL޿i }ֿпXǿ?#є uI+D_`bu妗Jq}}2l9!kO߿ 0ֿh{vпb` ȿ<*Ƶ16 e  1d C.(J \׃߿;`ֿnI?пP3ȿ^O#¿97!ot _KA`tĪ!)$;y^߿ _ ׿`ڭп9Ppȿ_@{i¿ϧeѨ"`,㔝 n+ϴ}u֖xfLz?BɭK߿Nֿl|pп*)ȿR_¿w˫$qiJ\G IYGy/&ptFUe&W%[޿_%ֿ+3v0iпjo6ȿcq,|¿Ne&Ҫn!B.[¬;kY xAa뿻5 俛v%8ݿdtտ矀AпbI8gHȿ#I¿!-~⻿)k*ث MY tO{5Fń:Qܿöտlht1ϿLǿZ; KX0TɄHRFF# @QP3Fο`:ƿu(y:=A7؝h.uz| oU޿ؿśӿi}ϿbۈPɿC (ĿhhIu96,Ӵ$  6L䬿p=D^EֿLɨҿ`ƛο0nSɿ9ĿPlo1OD^t?ɄOT-۔ 5 n4+dпj{"j̿Wǿua8ÿby8xET%˘PQɶgeﲿ[ a¹ fܘZfmI Mȿtȓ3ſH3¿qrs ;¥jJ^QpЌղ7TޯnW*w;ˣTFGa%Q.I=Ȼ12*|괿X=rU鮿Xj*'zOP%>1l,r<._-7& 1˲rR1쬿هDv Hp|w*5,\y*t>i_%'b}OMt4D,䱿mA;$nB+Le$DF? 'OV4{\Q]l۸6;I~gx,F}Xs3x* &Fu 妿5bä3F]ǀ栿ct8Pz_#Zr4f5@ :ד㤿< U ^%蛠lSYͬқyAzWq8#I ̈gz\߯pʚ@ÒA'pǻDD+yМ eXۣٚ6:옿Ad5So2,(MZ,1Ñ' lKtE/_l 1R]R޿3տz`jͿQηĿU] y7$yQ IBZF*. e pˤČT{8k忶Z#ݿ67-Կ^̿W^Q3Ŀ h1>?򠴿Mi.mLNnwԠF*XI؁iT+iYe"+υt]l7BݿrԿ~m˿z|3ÿz1J賿9QIfoG4mJf6)쓿PW3c Byq]'^ zg}=Eܿ 0NXӿFʿl:!ze¿d nAXAګ0ksZ(MۭDJ)D"#g6|l܉d07w2㿜 Wڿp_)fҿ/`ɿgbG_Ɲ$qцD.^v@"I7DFVH:$rg8oۉЉQyɆYF /nٿ7 &Iѿ}ǿ9fʃxʝQJB {G"`WFp{Bc0,mպ2#/s#Cۈ&#r+CP׿wwпD ƿL۾ Ex󵿄ܾƯƓgOgbHes0ޚM5$WݐAދOGdч"4"2H;fտT(DͿ۶S (Ŀ`-0 D-T(Nγ[ֿXE(#ؿƓc<㏿17w|1l54dhz1ݿ1yhjӿR~Jʿ|kBn%¿h>0 S&ǪHp۟7i^/ y69Rn\n |pi膅vq9Bֿٿ8:QѿޑB.ǿ7\򽶿tk\)䗅IHBc\w[ rEf׶޽nGJ0?d#ֿsA*cͿR]}π]_}kI{Z몐A>y+mbWX9$𖿞%~LO'K4! NoFQ[|i:~qF{Zzx*Bkj9ܬ р>;(ܡ<~ӊߖ ,}ޡ(hu>ۈMrq,GzښKl~Wwz%Cx Xwv>7(1X%NNM G0(0XsA*Gh]n[b{>}Mzɹ22w,yu$ tsU?QM?.p<~M?ޏB4M?G@?Lb藰?U?K?t?p?TsB?,o?|X?wr1?~g?-s ?O-?3J`?3|pF??VyI?RROA?'/`?,`?Ih?,lW?TZ/bA?٢DY??YF̤?8\iz?j Iͧ?ï=g?G'ş?P\xk?ᯠ?Cf?sd&tݘ?AO%&?aq?_*w?oj,R?%83/?MN쬡?5@?| 1j? ?{e? dk:&?W??4@KJ:?=Kۓw?Q:?ikK??3>?7\u:0?aWU?/IY?N#ׇ??!)?[=9=?h ?# 8t?1?fi?7s?w?]N&?Ay{f?wi?xC{?R&`?czw,?M/?Mq؎?ϟ+O?k9t\?Ӱ]?xI"?b [=?3/"…?kA~?$_l?Us?Ps ȷ?{@?vOc?6˸\K?p;>May?/^y?Y%x?_D]w?Pݞ0v?"#)Ht?@Q7=q?mQYkm?d-e?zTlY?JüC1?XՉS(v?"6 v?tB}@u?3&t?|a2r?5xp?hBJl?5(g?6Ռ:/`?x ?P?!qV6btt?`s?X5Acr? g@˒q?CM"p?PlBl?fdh?ϞC{b? 7~X?wC? 9 lXX i|Qr?8q?O4p?|oo?HxBl?Jx Gi?*ϯd?5 6_?bP ?S?1'7?.TBR!wrYII9>3/j?>ڳ@D>efK> glR>&j`Y>byP?a>SIIh>Y&oq> ~px>1Y&>r>Y`>-TM> \j>P\6Jۉ>ØXL>vFú>Pv{Y>zK>Zuʯ>B@>#+0>9؞D>:vB>ػ_>($>TR>ڹ}o>54>6>A >ɲJwJ>}(H:>\lz>>Ry >ӲIu?$?vM >18C>/ N>'}A>2@C>g0?/~. ?o?<'1?exB"?*?YM2?"9?!?^_ ?P=Š?ю_?; ?\`a'?9:$CC0?TV6?(??Ge?F?ZBނ0O?U?o2^?@ D%?o*?R+ȁ>>F~>W{>&iv>uq>ɢNi>aLO]>yp|};>]X0N5-'NbU)~mLEsM,x#S;ݑ|HyAW }EcU> Wl5> e><4>> 0"JA>)+N>ĐF>Q/>]xδ>uuK>C١E4˵$;Y$aǾJĈI=;N՛mZѾVӾ.p8վrA?6 ?.+? _?_Y; ??̀>?L> %B8H>B>JV Ǡݾ9)*|򾿚R"SwtP$j! ThVLB?}96/A? ה@??U;?}wk7?=q3? _/? Y &? =F?+,|.>GG^ !o ˱*TOJO1= ,uI6B/:K?>xrQHAʹ Rf?O!0e?jngFc?eJ$a?H]?DX?hQ~?S?Z~Gb8=eAI??bKm?4Plm?pA7{?2u%v?s&<r?lWi?ʖž8]? r>?! ,MFw͈6sbBAf~mp|&tGMJZ`yV\~2'IlBLG?lC?'R?C~&=?25Cؔ?sllX?>8??D;r?ǷJv?c3X?z4&e/Z{|smPԑD0>꾖SFyWkDUenʱ xhoY`?&ۜw*V9pʢg|cB agaX;|vQV. IWI,BB=O'7V~վw;^cv2ž~ 4¦l)]f ҿ> T|W'cLMfKh,%7Vo輸2SP~=ƳV 4R-yklqVS \-Q$O後o&d޾Yվ#CJϾFlƾwoLD [‡PfߟŖd81bC<)T,"s!鰾T6+' o6`Oѻn||=쾕~AI澾E%VD]Cibj 2U'!NJf9lE䦊Xz>ԺGT5y0.9gO~z&&ek+E9iD+[ gGʵ}Q{?jsykZc|sc7f&[!&sS^IЃ^LMMD;d/>= =AM5Emѱ/n(x(@$D/ >_S/ٌA3E}`o t]F"mXS*e>N^m.U+^vO+hQ.G+oiMB8[0>(u?w@O y?=ތ4Z?ZOP?欂䐍?G8Y?\ٝ7? ͈?EG{j?o$)?*RѺ?f_?q]nsR?Ah`{?MZ?S6Z?i\_?B\F?_H䄚?^(_?2O#?ֱ?dٱ?99Ep?zx$k?(>w?rBDÁ?>f?@""^?E2+?D+?yS?{?%T?и/0ƶ?+#ѿ?] ??@Gc%?-|??Ȯlh?ex?G%:?)$~ۖ?]<?A[PK?sH]y?rs |?Sk?n?ԉ? ?O@V9P?ˋ? ⶐ?ԽhT?9 C?^gK_&?uy}I?H.-?;\'A?FCL? &@?]gV '?Hjo?۵S?79?GvŨ?Y Z?bh?fD?x>c?#Lk?CD܋?ŧu3I?<oZ-?T?ⅻ?3ja?eB?>[ի?$?愯?4?z㖹?kVT?5Ggͣ?s!B?|h?4)HPr?:]8 P?I?basw?2?WQ\?j?Ҵ?iI>?l ?ݏ? J?vA??:?yf?h"8?K"' ?D{8?ɭ?J~?ee?A>? w?ޥ? .?bB?_'? iw_?Ĵh?X)H?ڏ ?}Ju ?@s*?Ts[?uIS?pn;?"?w??{,G?ʅb?d[uzS?&Rc)?i~?^X?RC_z?#%ß?N?y?{+?????hߗ?_Ī?[( ?{?z*?=ŚIж?G,?W?Hط?}?];? o5?]e@P?q=?bj?X?ԭ._?#ǘ?jc"?R?ĖDj?dp=Pb'?l#9iV?ySX??PA?z?ʿ?}3?L^? ?T?*&?Ti?6?)¯%?=p?-P &? D@?ԭ$?k]?|nؤ?Ku?hcD?,kݱ?.$t>o?M?aol\?Ћ?P%k~?:t?ɛۡ?k5M?š?/?p,?ؗQ?HG8?K0?Hb>?ŇͿ?2lU?XI@?} ?!9?S'p?W*?tfi?‡i?[?U{k?)kb?)BӤ?v G|?\{?$?ٻ?s}q?2Q?OQ?3T?rh.?C@Z?JH[ ?}*W!?.?)] ?Bs?_")?;?4?Gϋ?tOی?-h?\?ƜM@;a@w>@ U@3WH@Eo1E@"@_s0*@*U_*@R8 @/?jk?Tߋ?Wc?T?Ȕ ?7?D?KUi??&xJ-?*>?ޛ]?Qߔ?ڟ<5?o?9ʱ?'a>?#Fe?n?&y@k<@v(#N@ ӣ@ZbW@599@b$@@?Y? ߗ?֮L?;Џ[?`,?'??|\?;'?+غ2?gr?t?j? ?b+ +?hW@cv?aOͦ?ʌ֦?^4?9o?V͠?Ld?^H~x@Id"@ێ @Y@Op?v"n'?K i?A!V?g$>?.P5O?7hYT*ȿ)X?_hl#?`9?y-ܺ?CT? |? ?nW?],`_?# ?.?|ؖ1?E8J:?MI?۷{_?i{ ?Pd#H?U ?5?p}?yN?=1s?qV?Nn]?jpl+ ?K ?hu3?iS[@տW{(;?!JĶu?y͟?&za ?d?q=?5-8?1L(?teR?D?~>' ?T>"?Qaٶ?:|Ts?sN??U{ ?<RJR?LF)!?G?,5U9?oMg@?k.(@?J5_rt?[Ƨ?ڮi'?ԝ8߿4}=пrT4ˊq?Z䀐?}]3?XjÔ?` ?ڔ-<6? K0?azJ?GZ ?@OrBr?2\ M?j(?WAz?Sկ?OP! m?UEo?J4aT?Ln?j p?F Z?]d<&N?uN6f=QIBۿ!u̿N$Nd?ڟt??>!$?lCch?z"b?'8 ?k?;!?3?_?\[?~?/+X[?LR?9?)?<);8?Koh?yǭ?D(sQ?pN?jF?9C~Ƶ?:^K.ڰ?w#鿞FR_"O-ۿhU#ѿptDe&!Dx?o:?7G?iv?ڷ@?{6?޿f3?a?g\p;?A?]I?Qiy?Qo?XI o:ت㿎83߿7&^ؿ3q Nҿ‡T̿Ř*&Ŀ]i⻿2c^ТЄeDᘿJ5:ݡ`Iuxh?!v?`%'x?+gv?0#Y r?ФCeh?PiuZ?fdt:?opE/CiIjUM"4]Hg`o߽awR`ksдcs̉hD@x;&D؆_  QLa޿?BvۿEՠٿ;1w׿e4Mտ|;gFԿ(*ҿS-ѿJ]Ͽ=l̿E{ɿP»ƿ{Ŀd&r`FF 3w+_qrPZ^{rPs5vĸ d?3u2WDnlFGr)U~E..2xI*ֈDq 翛Zt xUA襪㿣ѿI^my.Q!F2߿zTDTܿ18tٿvߟֿ6xӿj;0CѿͿ!_ɿB=evcĿNQXv.,E"u(=8ٱz:/|0ŗW&ZȶCM` Tb4cW+i~ICjyŻCHk}]t=ϡ nQO__a_ߝgn ;9G$MݿŢfnٿTvտPK uҿϟοy&duɿٿeĿΨI;M.u E&"1%uu:V19HN =#UF S_F+B6YFT ʍ: i8"yk^X^U%]g@뿣{ZMb5ܟҐhܿHؿKԿ2HSGݿ[ؿ?ԿbN "пjFҐʿ,VſzɆХq[41n5nwzxj-\xʈˡk@yDxٿj"Sѿj+LɿWI1#¿0ϷeX܅97L]"+ lhɢAI@+ѽ㓿wō3qHW#-|c>ݿbS90 տ01aUͿBf7Nſ.~\hs8/6w3Dvan4v*W߭|d蹆l5'JO[krMؿ#lѿs/|ȿw^n!+ _*qE(V8sha0䢿s΃ŔTI,'({ܿPDԿW̿Ŀ^cC`O C W8x?-֓&rd5ҒSoIf*ģK濈^L࿣wãt3׿Dގпtkǿ|G0!7xZh]EL.qL3w ˛,DzOpp:鿰GIu 1FGڿb,Lҿbtuʿ =ÿqHNBb77𸳿h9VȠF!z ΈP뿐+hydNۿ_GӿIP5̿NvXkĿ7ic~7撬|f~QG(G~g(៿m~%NWJ28Aoݿ[jlտہFο( +ƿ,sE7zGofdh`.Ѥs/gz`DWh0zD濭"߿kֿռ~#vkпZǿ͢24j22Æ6<weͤ~ڻآE5kxb̿ UYſ EڿJC qȧE+2&_WC&4c H!2rV %R⿏]uRڿ'A ӿE`̿x'oſ'+"_q|Fz֮`Z/+ϽPv_]uqP.῞oa:ڿJ`Rӿ-DU̿XUſI$\# 64-3?yΛK7rתbLTqG<῜.`1qٿvҿ9qg̿ˆ>S ſ'$Ii ࿿ۏhucƟMB@Ɖw(TFp7 .h_nkؿ8R$7ҿ:8L˿͇k×ĿϪ_OD>8OۛױLj򿗥{sw俽?޿ҟK3׿U-oѿ@uQPʿaMÿDw\ ڷlȘJSdSnKDE`Ȏ$z7ۿذRֿx;ѿ\ce[̿8(ƿ;=qd%#8 ળֲԈ RVિT .92ؿB5kԿ),пy0C˿$0ƿ4wr!¿oX=_+ bj'I;u K:jmD1.|6ѿ iοỴɿ%ſMmf23¿ xd39/pBQED5Ng(.^ 4h"3\ T(Fƛɿ><ƿ =ÿ,Z̟/'oJ}cRFSPx TcM_1[<_ ACRli+¿R*@}:Lo#V3ggIDאּZ>pWf{nyJX?T[Doc6OBYFExu[c /⢱N}>вhg8ʠrj:P\${7zP/3 :ZٵSP.Q1X𯲿R>Aி?iIݟ#西cufXǃ-q^ zF~<χ☿#0gn7 u%OH4?ѥ4rc̡Sr u?՝ 4sxQe55֖^˕N( vv̇hOK 6atɢn4TK͟l07Qkk^٥bSVx i%@0W"SroF{ɝ՛S$q>eo*iEE=S 7*6Z_͐.:zO/ rƛEgD AXC IxϒJ//CcګՏ''CWoč@m)7FXgwUc"ӒLJ+둿]큭uJ %) \4N&6n?$ p,>4K|No7]qLX^(F-=nol|3)HBDL2"CG+@n2 "K]#D'nTWč &UCdsgIYnyR,`.JIIp9sd U'z%:j%͐dS)`9WKcI$ZLN8޲/$);) ߇-4.~Ə+V qݢ{}Ueϲ҄1-`)א3 9 j@ٿ%ѿҨȿ C5sLJlcHGr*ܣ)uFJ@dw"U1m٠ݒ<+gP@3+2ˊ^v.Re( 7pOؿ m;ѿx.ȿ뙏r!9\3IjX٩*B1dSݓFwS4_Uw\׿ƅUп5otSƿnH+prB39TlX{1sZq|.ތg8a눿èj;5\f(+Aֿ?rοf,ſͽ`;J&鮿 3Ѧ5(5oV|޷|󅮷9㋿S !Z$lנ(."bb_x޿XYԿl.r̿yۿrÿH4eIAlN!km̑OʕEߖ׉E–3ēTOkϊdcCvg "5 ܿϢKlӿ=2 ʿUh¿%F&BU0h5*9a;ğ~VÒC2E KzS`4lMe;ʨR- jڿOѿj;ȿS3{ԷD)F,[̢2QF;U=*Apb ow~~h¨/QYN mX8r<7z׿ TϿ~ſu]q_sرsA|I vEiO2ME&&瓐C?1Vْ? 绊mKCL߿ oЀԿ(̿l{>ÿ=C Go2ёjaޤBw|CwqT '$XAwBԎ>}=BТ +xw uy)hۿ|q(ѿ]!<+ȿ.74p,dQw󰿍py$R}%zw AfиÇq28ثhe~}HhIXu0,q@ fֿv__Ϳ@ĿEfL*@w/LJPťxX]r 䓿{'ЏԴG:υHςE6Ĭ&9~*Iҿ+> ȿHkC㢽)CùİHͨAGmmiP{ qMQn$N_w ꎌuS=Jh샿'+N2 S~Z|˿tCuX¿a4qh8&7p'beۯniqsyDO D80g;T7?dsGfQ?o*o|E az!O<ÿJQ 5|Ȳ@tLU5!RH5zſ͙\[sZVT?<ق?"g?>C?Wѓ??a?+??B?9m#?zm?T9w?Ֆ*2?d֍?{c܆?j?g?ew&?n{͙?)kDދ?97?ڟ!ق?&,K1w?c`vS?+>^d .y?t 3y?K y?$-x?09Fv?4YkMu?E c s?h$P Yp?Y8i?AKqa?\DGuN?`)&= #1`@Ov?5xVv?u?P[t?} xs?=]q?Vw^o?yZ - j?i:c? X?ݶDsQ=?%U;HB`0PIt?6s?g&s?G;-r?!Op?~Zkyn?R~U9faj? sYke?qU_?1hpQ?3ڍN?))}N[zj` DŽr? -.r?H[Yq?M]p?<'n?hj?tނ7f?0 8b? iDaY?a]lI?jkV'9]'QPga^/>I)Bګ>B(8+>@=>8>j#/+$>#,>A>3>;>eXC>b`n6K>ӣ4fQS>[]>8[ b>+k@(h>FJ "v>Uz>EG!>O>,Ե>= j>V))l\>Z> &β>Fi >o&塏>P-*>$3[>~d>2)[>iv>(>>`d >^>=~9>~tϮ>Op>+Vc@>k{>͂ o`>Y3>k||c?x  ?u,??v#C?՛DP!?6{>Ί>qt2>1?mDS ?~+n?k?5c,"?nYg)?,f1?D2y88?뻋zA?R5H?゗^?qdm ?ܽ2{%?p{,?Xt3?m&;?J^B?>pJ?B?fR?,Y?azL.b?1hi?tu'5?C%}:?,fA?I3G?.F~(P?reV?F$#3_?Tfe??3рn?=]u?{:#}?C ?Y )M?U=R?q`mW?XX]+`? ?2f?6#n?'=hu?b}?0]??|$I?Dž?:\ǜ?un>ߥeIn> 'dMl>Iy<\Нe>"4za><+Z>oSkzQ>[hIF@>S_H>Kp_1mEm_Tk]ȿK!ce zqgzbiBj;x.>6 >Z@h>q08>>zۤ>-Қ>7Z{=>X7>=wץ>Sf⼢%O|t`hy86>ty*;QF[>ƶ>M>&Kk{>ݢ>:@=>hOa>#~d>#&t}>gId}8Ӿuπᾰ=zpPB_:|mebE(@|/wiO/?ALa,?+)?zZζ&?ߠ"E#?%˪,?gg?.?W>[JG׾Roߝ|mi ڔ}zx!-ߐ]%% )I) , /U?:T?~R?yIVO?+cJ?E??l!O@?Ka`5?O##?vRcyXy+o&ɢ89 `+rB&y AHh)!ћMʂ?hQӜSD @xv?vt?e֚r?5lUp? (k? wf?>,`?w7V?m.̓)D?Qc?V)L# P?Z 4c{ۻhn =Snf/qMJ;ct*;Cp?('G?c?<}܊?ӆ? 3$+?%ĶB{? +gr?n@?a?Bٹ9Q5?KSXf EWud!,Εp>^^#r*OPfn,9?6?Xsp?cлg?vNjO?l?4i4?jʑQr?[v/x?b0"HO0_j~Y=)یm&t#;Zp @Sp;þFgiR1=hJ(иBw虚:\c{z2] ]*8I?#t]Һ`#M g{ES\IObnuX]딾C%Í?53nT:@NF~4-u8do g˯fa [0oZK=wxZ߾eeU־&ToϾbNdƾ+yF D4θ𔰾{AYy\bB "Qg >l,Vz]+Rg;-2npd&-R񾈅oc&QFlھa"ԾoRMϾP-K3G9zv@F.r8^qf1M\Y({Y!(@to xJ}̇}ڏ((4[h/aX'> QghKIqo;Bu 9:Ǫy2R|*1#1ݣٝ%$JVrd~|`t,;m/*YdN]Zt /UiN wFMn.@*y8ul3ØzΛ'5Ó*/k|Wt|DSHtJlLJBfd;.%^#?3-V|P5'p]JOms?8'x?'zm T?-?Y: ?DӔ?x?1X?/?_/U\4?b᥺?JNkK?>Z?ayez?7-:mt?/?Z39?A"Mӓ?A?f? Ƃ?\Y?QÔ}?U+?#?ERi?%$9?r~EK?t3+Ӌ?ڨⶒ?ҩb?._n?Aف?S?!ʌ?Sc?YzE \?'$}[?O*eǖ?J-? go?m>X?:a??6e?48u+>?AGT6?.)5{?5.?RF?:Phx?Z\$?:?L!"??A~U?'̶?6?έ?yR׳?@x?:Jj?m*c?ADs?S-d?rk?J?H5}?=W?An4?o2?pEٴ2?́ur? t/-?75A??ދN?p?H(.?;??ti&g?Bq9ฬ?>|9^y? W|?ʖE? ??:ța??(s?c?TM!?ŧ?Imvh?)%?H.&A?b>#?i?V?8lIܪ?JJ?D9o? ː??~Ű;;?xrJ;?0kVWe?D ί?[?(Z?!kJR?i?UqN? Q?%5?mK]?r&?,b> ?V."kd?xbN?:Tc? ?x?ţι10?F#9?_h`R?|:? + ?g%0>?Ӓ?q6?_}S?t? vWL?<7V?C?(X=?`ΰ?E7?ZsJq?w=̶[?0?/?#!X?HvI[?j/?_9w?$Vft?Zg?d /p?)t׼y?DCơ?!̇?O/ѓ?wP6?DCk?ACv}!7? 1?Y7+?&?|}?_?oB_I3?$E|?9rWkf~?:ccW?fd[?C?UwI?vFN?' ?)? #KL?IK?v˷?,N @?nVBXq ?!?E1?K0?c +?waI?si=<?xȢ? [4?\?P ϰ?D[ȳ?̛oH?~<ݙ? ?s0 m?߼? ޝ`? 믲?}#bCk?f??{sW?ي[ ?:D6C?z(_%? ?=?? ܣK?iz?ib?9?Umm-c?F?@`p?F>?\?m "KU?SE?Y[5?Zdr?~)]f?Z&D?ɤ ?Bv*?4B?Pb?58;?UDU0?B(^P? o?uFrN?r7m?(9?eٺ?4Erz?(?ޑۂ?vR)7?N$?eZ?ou*?Ƅ]??k,_]?v?"j? ?˒͛k?*ˏ!?ځJaY?Lԭ?ϫx?u[?E :3?$dd?5ٲ]?S/i?j\W??)?]he{?k ?fVc~4?2xO- ??Q f?8?YG@]jd+@'9@D1Ҝ@$)G@W@1=QN@NXD l@NCD@C}d@Ii?E]N? b?.@1?Lc ?'N? VF?&觕?'y?gM? d??,e?Y5OS?\?V?Eۮ?lV,~@֘*xC@"^@@\@=ī@c*-Q@eUXx@k[@N@ɕ:.!?DTeU?iɊc?7g?3?ػa??L| ?q?ŵ?l6+?ޮp?v6?_A )?:]?K/?3UV?|5|?ܟoG ?'? H?[Mܿ/dͿQ-cB옿?4[?3\?LZ?fHvo?nX_?sYf?f?"qB?lq?L?x8?^? x)n?i?&S?o?J[?(IU?}Ep?QIJ?}׷kj?tξ? KR ?5d4liڿO#Mο%=;q ?3ʶ ?qV?,?Hƶ?i}e?`>'U7?gڋd?Wh?yX?S\Q?i?x?q_? ?h?eW6?3R7?gٲԘ??B$s1%?ӨAcW?6?&8还.՗C3ꡳܿELs`ԿYʿ*loygV?d3s?g{>bȻ?i\`s?uKR?"^%?)Ba?O?DX?QR?,Ќ?|s2?qYg?;߰?H8?E{(?N6?us;{?V ?2Q?BcuݶtLN,ߊh޿|6ٿ _տtҿ/ְK9п@Hr|W̿ġ*ɿBƿF(ÿ0Ӵ?`$UPhnnWt /Օ0y@`a~׏ӧ U} 0R╿݂ezsmeS! _ m^ юP28濾\`>9MY'K;-⿹kƫ|ῼ*>xiz޿12ܿweнڿP0јؿҧkI|l縿nT.V Z Ff|4sb_ 5vهINȯ\,Csz󿢔Ad>SxW<}d񿒸83έp?A7ZkX\,u俺T3߿R'6ۿxڟ/׿.jӿu4п?0ʿ: xſAh W \$vU%>DO>76x~qgO֝<-wzFc HnDdG80$ s#wg補P; aŷv~8Z2Lf QlUݿF33zؿ{֒XԿcIп1?r˿`ſ g4}=oCr&monxV$$ocgL$ށG GC'tnd07 `HܧPO<_v‘ Hd `I>mr\kW` uhA=RFBªfݿ\F3ؿoU:rӿڭOп?jZɿɜ%VTp4. ؁NcQ22i`k\K~(ѭ peL ę%fƘ&IFؙPlfltD5_[خ0r8!UYRn224.ۿ1sֿ˴ҿq7RͿ"$U_?nYfb[\mhXQAY52-Zx6ajW^&Ńi,v)5)iL>\6~ɠeڗ@ Ht #SMXoB2w[޿Krٿ MԿ-3пvjsneE[0]B"|Eq}GfّcɶuOzt r{y2ԸtCpdLeQVſ̳GVuk G㒵Aޥd 5̪i=T˒{2fMR(x/2z_GS\tRmSʿE,¿(tq;0[pyC! !p ֓5HJ̌wT7@6_s#yt#  пVƿ8fIM#@#.B_tS}+UѠĞ4ߎ )_{g waOӿѡu˿ ÿjNϻt.ҳubM7T)vE|zv0ھC+6F7صWևw ^ֿ͆ Vпm3Z?ǿሕB}U԰^p*۰^j'_f[ rMK eN4z2m*.ۿ E8ӿP.![˿Kj{ÿÕNoȻ ڳDub%?AٝH5i<6ӐEV芿iq߿M,?h]ֿB4ϿgNƿ4T,FD^򞕰m맿-.JXk[HH͙ S|~uJcQӪٿU^nRҿ]`nʿϯ¿ehH 7LI=J^LeԝwEŖ|%>Nb(*TKMݿ;/Կ'^Ϳ Zvyu<ſRcuϵҵ'&DF5WdI;f P7bU1z1=as+L׿:`пq&ǿ,ºc&PMSҠ/ұ_㈖ JW\W~ȗ,Oh48}7f⿀d8ڿ>ՐҿQ *nʿ8(ÿ>Հ-DF,2qxNe&Śc=.~NoK俑 ܿ\JAԿ*93Ϳr0ſ1 Q׿0j/1?"f߇G(Fܝ,2s8(j_b߿7ֿR|>)пJS4ǿ't0P &Fy8/ͱ篚(dr~񀠿@TŽ-=jo/rmؿ=pǀѿ5Xї(ɿue)¿ecviv\h_$QjF5 yxF⿢ڭ(ڿ06ҿ˿פÿ`SDna8~F`-opw=40K::\YNyۿ+tnӿ[̿YĿ}fV0[xpajstѰC5 Pw)$i>x0ψP곞}D'7DݿgԿ-:οW"ſ-q )W&\߱«A`ߛ.tP${ӬLlƿ^" y{븿J*Բ/cV`44u}y\Ibn<2l߿z-iֿUjcCпsGǿ=p>g5*󹿫+XUUut"1"/CSH`8!o˴߿'ֿt;пySȿ"_W(@7qʺYb lZ]HLLs#OzRb(߿`( ׿NCп_K ȿn"kK¿r)k8SU W66Sz g溺23&߿E\ֿп CȿB`}¿ vջM8[127䰿vpeqbFG^*e8A ޿_;ֿ&kпȿM*<¿wyzԚ',*Q~ ᕭ @Yt&X?7*g$޿+tT_8ֿL T>tп ȿKO4g¿ـ%Tsp>Q/bӱ쬿U% x箜 ܿmտb пBȿb"¿N3q`2*Zo^06ζ4>21Ƀ⿼jАhۿԿj?rGο RQǿYcoIF˝blDQpnI @%K4FүٿDQӿ#/Ϳܘvƿ9MHJ1MY`J%WLG?KhHѿKJi̿ߖʨ9ƿ#3m¿Rx:EWWA9BPCӿw+4пR9^U"˿Vƿrdc¿h^ԯm<|k`y׎ao5hǬ K=ҨT e̿͠V,XȿuÂĿFL枢͸Ѡ\sc&dbwd]4}/l^ ][ޣZ]MĿ C=¿< g?οYorsvog xgYhi G%)Q? 9΃ХӀ ^@7uoۤZE:݃Rq>[#"wDfE ԁTD6M@ȂDᠿEn FKhM”NwiJdPb E`쩿o3$֦ݞ+'u 9䡿 w(JKGK`E)6$Ӱ);p&#ܩG!Hˢ1wݤ@Wϱ_W 'Rgp|,[SiNcї,S]DēaͧOV&O^&FӌGޠGᣞ#hݛic0wȸcDy،j长ؿʔ#[%^bd-H=E8ѝ0lj-Q'WYǑhz *y;>Y 2& !9NۜR?!o T"8UWB3lsQY=#1#͒ olO so.yql}הCʗ ? Ea+wVo%HQ6ă'ޕ۹呿+j) 萿 ^*%(&^XmPzNmL9ŔM5X>㒿rS3ZW/ 쐿pk+W!iَF,rjqTB{+ v|da0&Ck# Oӏu1"SClL'E`8,U*'F:Mlfć{IZwm}%BP!ޓcl Kս1ex,ƇnJe}NwϨr0]0SK8ѭԈ El{ʬꇿk$X(OҾ4ksI', WQ=^-U)f^O5{ud޿C +տs$Ϳ^cĿǪKʽmړt:E1nP$;26K|(X<隿:ad_j?NCe%ph Dg.,޿ M;|Կa`Gn Ϳ,4{ĿDZ^R𴿣6 ELR4@bK彫ĔOL吿ͷ~zMW(Pc@ݿ=5=kԿрZ̿x?ÿz̜7X1 IuNjR=񥿗iJ@u9+a9b>n|W29ՋV ds h&A(iܿk$2ӿ aV˿ 'a)"ÿH ~N $ߎ{`ya $8alL~>|BT7=]ׇ7g,l77r6ۿ8ҿC.ʿ4K*;¿ĕUع@,)2dd;?h|^%ȗ\|蒿༁QJvPdC ( x1=>ڿ.ѿh3XHȿ2De>mn{KũOri9h?t9#/b΍p?XM5>f`4kMVؿ'Gūпr=Wƿ& G 0H̶Q_y+@E8xf!0PޜU]M)9 +X_||&J࿊$ֿ)Mο<ſgy#Wzݢqw` s_$vFNg?"i圠-hBrHEʥ3֭$6޿ÛԿ} ˿L=ܲ)ÿ=&N 뺿vBI0$Ҥ*iD}zE::!o%I[0YJҺy>ۿƙ2DҿQȿ#'XR&܃[k`K#(zߡ* #s $CΑ&H71 >ꄿI&öu׾׿nLtϿ+Hſ$*.Z8~Cɿ.y(?$:R]ei[:s#laj0Y!m o` mJэ$wX,j#\Y8[>u%y|q5O¿V"BӲw#竿7`x[v;L6/+E~j d,vh[oh3Dbc`ʿDw H?9Y|TVK".y^EvP6IAuYe>|Z_.S .֟1ǐF*b #4刿C[)E/8Gq:IBo{$[Ix=zZu:2_btX. rŁˑ?UMXXu?9%>$?=}h?a4F?^y?hP\k?Mx|?kw?(0?m?_Oڥ*?ġE"?n?L{Y ?:ܚ ?S1]'?R N^?H?hT.?лI0ww?4ڧ?Ȇx´?~*@?>s?Kb3۶?rL5"̟?4EU?9s?؉222?N~c,q?jҫ?/ ?lɬ?C4?Hx{?h%4n?>?8?t?C \o?vv ?j`n?SGy?܃?H6ɭ?t*5ã?@F%T?)4?)Nו?Mtז?tcs)?(Bx=?|Z??l1 ?],t?ܼ?G?ņ ?|!]??[b;6?J\' ?B?7/SZ?tk?<?|y%?V|n_?RBݒ?pkQ?t^c^#?<[u?M)?QZ ? ?MK?%4?Ō?]ڐ?ISَ?f#?FD?հ"t?G;? ?huu?w +ڋ? fP^?qB̋??Q;g4?$rW?C ?k'j x?=N d?x5|?/̊uc?="?Kiw?Qą?X=1O?yrƄ?|w?Iod;?Գuy?n?'vM? ? ִ?N`/?e?0?%{`?͆~ ?60zI\|?rw?1iU<h>u?YWt?6iRs?ҏr?FZSaKq?㼏n?Z?ƋX?(93Y|@q?>|#]q?X^=p?Z9n?fXk?nnng?lAc? 99]?ONuQ?`#1?PpDۑ|YE!uF>I> >Ҋ<>dv>6!>cY'>gd0>FZ J7>/S@>8'IF>N5(P>P W>l.[>Zj `>Res;1Ee>,vl>cNPts>kwz>qUz㟺>6`[*>ܤP>1>Y">KK=V>cj>f"MÜ>Bs>orbڒ>v >둴>'.lr>&)>^Nh>KG!Z>[UA >:>YrQ>f>UOĐ>3E%>=>#>j>:>˫܏,>p> VDK>{2?9 ?ZN?z:?{I]0$?6:p>֍5>lH?H am??dZ+-D??݇K?S?xlZ?o: ob?_~k{i?_/ r?'Ky?]6y?DAT?e9&J?>(/P?`yT?6[?pYub?׿}j?IS"r?I*,Jy?׹A?qQc?娽wnU?12; M?m ?9t|4o>n>5m>qj>Eyg>eac>^>} V>ڿ޲I>n,+>'Ɨ84WOMMY a`ː:q(ehP#kmlz`,>MR>YG6ռ>2)ݹ>{y>->@n>O:*>4)XM>ʊ(y>Vq􇾋1U76W`^>4CeP oZ%W(E>;Kg>mnu>>bW{`>!Eq8>%>FT>3eH>(>lXz>ECKƾ g۾K!/>2ӲF&C\]R):0?\.?o҈\+?U(?y"%?Ot!?qU? CLe?qZ?g!>J*)tD# LޮM 0r01 q#<'vO^B*٪.rĪV?y뭦T?:Mw S?P?#DM?$NH? $ C? X ;?},?/?dY{? eM\?'CHP?/=P0?vB{S?.T5ç"`9|Ѐ7 f>dkp.>g-s yuTGL?bL*?%? Y:&Œ?iG?IKC?ޟ76GA?y\1w?=ˮk?,eJM?&_Y{A\p3\|HzZO4sI:{!,I b?[jG?G+:A?=I`?Dz?]x)g?-Ei?&YFY?NH?Bς?&&mAe?]@pZoY xQΑPrP֮ޞ%)I#b~G hHcVcgr}*eO L 9FPj?<^*+o6=mj/œr&@@$YI 9pJ%3W ́V~Wx0jG.}mlvWiiϘSGQxjyU聾,1y;orpj?c}^{0Y=I򾙙[n⾾no2ھiҾ']ǰʾPk@¾*LAyq3+ ;Xiw X=Q`Пs#~1]ʜwv(Ł ПbV9sPч)P徆 ߾nT׾xNѾ~#*;"I?L DWc=<#I4NK\,ģ$="O^li1u;i W9j ȏ5kܿb/2ZB}&F+8!,>xW-N"%1_x#WgTq2èhW.RyaďBY_PQ 7iIEF+Bcx?#C?ȝ?mk#g?[˶?J]ÿ?̆7,?!?sRo?VS[?Lk=Ŏ?Yn>JA~?EoN?֛ܻ?'8?f?Y8c?զ{%?sN_r??Wnpᡒ?:H_?%)~?[Znآ?kp~?OPHy?n"?53?7뇝N?;(@?]W2&Hj?Ph21?k#&?\m?^^ {5?$?83?Pv?:<|§?u\ 0? `v? ^? پ?k4H?#]i?2-]?i/? 4ǩ?i&z?H8?g"?m[?$w?0k?*eЅи??N?$T?_3Vw9r?@ ?O|?RL?r&}??eM}?s{?9\@?J??JL?阻t?uX=?9]?3v?!yށ ?̲?/+>?>??t?pp2??~?`nK??)?{Ɯ{/?i?C?1$G?ir? u;?T%B?;P4?ϱ2?Oe3Cd?@4б?˖B?ڮr_?QI8?{h?Wo[?0?l?(G?['l?dTFOn?zxD?ThD?Q9Y?9bHO?cN?+5??R~2?w,W ?zſ2?' '?D@?Z?!?K Œu?i ;x?9C? wۯͶ?Z?Oe?'q+ ? @jÿ?E%ό??X9S?me9?|y5H?4,j?F(?;?J쿶?S/Ǽ?wj?.?BDxO??"qV[]?,I9\?*I{?V??p6`?ƚ- ?#4}?.ؤj?./*?e?4G?eE?W ?/.N?{?@ ?kr ?9)?v`u?zq?\lҵ?dg#J7?&\W`?4s ?/{D?s??Q< ?su?m U? z?kƺkԮ?TyHY?U ?D5? 3o?%5zt?pg?Xm?۾fv?]w?&bY?l?ь?[j?>.Vְ?0V?T#w?]4?%T?5$ ? Ԩ+?TS@f?i3?ts?,&n?ڿv?c+f?lif?ӂޝŲ?+Ƕ?n@?nH?e۷݈?0ı?݉WV?sn?9>?4?0N9B?g7/>۪?)e?i<>w?(M?+慳?c?? ?;/}K?P?J~r?R"]?SX@?yY?*hs@9vj@T@:ٮ@.mƢO@to]@4t?&0S?9F H?b<<1@?Nl=?Յ?B{2D? ?ds?vۻ?,ɹ?@]q?g>j ?iHS?6'87?҆sq?Z9bп4Xmc?ܻ?'o4?&CG?0h?%)Fk?)7| ?ţ9o?Dt? ge?w}?Nؘ?(?n?1V?g^?d8X7?%Kה?vS?Xb_D??0:?n fڿ+gZſ jli?BPD?آ~8?j?Cu)?=$Q?A?]n#j?\݆ ߇?#/?O>'?Ҭy?t"ƣ?H ?g?RH*?L?? Ks?N?dD?s=?"#?ҶX~G?DZt.4?Wd?0zf-n?޿տoSXo=Ս?7?> ?\H7?`%'?Rl?7% ?䡼?$?`)o?ؤ?ОqU?#.?$Oj?/o?d}|T?PF?"Y^?Jc[G c" AԿuݬÿ6sTatM?4?PRab?Vi?N+?] n?%p+[h?D2.?#C?U5?-;?ǐᨡ?%U?/3?ެ-?$]YU?W6,?h[?Z߿?Zٹ?ftF?cg-+;?D?g]Vr7)p#|ؿDSпɼÿ (=H9\?M ?y#?XF6Ѿ?(dL|? ODx?CgJ?K ?6J~?@KB?<$?^@A.ڸ?+?ueUhb?,| ڮ?z?܁ܶ?T??Zx??D"gwߎ?\0Gg# *㿩-qYPۿpaܳ׿Q|Bx?ԿoZmѿp<_Jο!RO湗ʿ'+yǿ}p,ſj¿zr!SR⾿Cٻ9;j3TXN dzZ1ZO 1+שlzT㥿&x JH" 50oa x''Kfp%KW(,Wx'[_=>zɿ LdtJim;d$<8俳⿐%a߿Sp5oݿ;<ۿٿ*̃׿f !Wտ(-ӿ$a8 ѿ Ϳsθtʿũ+cƿhEIm¿ k˿c$|&BC<{aL<(pʁst>0ϲ 3U- "hByА }z rp0LH*쿓+3%'tEУKXֽ 78UMZ㿙G?N,߿0|MDܿHzFؿK|_fտ{g xYҿ|cϿnwɿ?=nſ6qtos8)[]f 2,n{K۾kh~tT?<(D"z{0ɱXܲR zPe;)￘v'Mտ >Cw)ѿ'icͿ;ǿ@03ÿj._p[IMk(T9g}lcV6cǁ?+n|m7"6E8o#3 c4}o_j\_"wҪ%B;V-뿶jx|#"1志P:2d:M߿lڿcǑZֿ uҿ=& οE\.ȿF(ÿ}7 1T h7uuwJW\t s6@5f?s/P!YPB^] ,)/;݈Ć7[3MaD 쿟O $׍pu`k*^߿eڿ$տD,ѿUK̿eƿ-o>O)LVwo{4h9'$&.։OSdGHAVcJiց ??qn1ܕMs요É&GpJ h Y4l쿖+%0|Ieb0&⿂M'H/m޿~/ٿPoԿWlп)kʿR(`$+nDI+7d/Xޥ6]c=a !aVg"E]3@a%j vfpSX5i;np:q1%򿎣7D r$ЙD&Q0e.\p ܿ&ֿJ<ҿѮh@Ϳ)@Ŀ{<ɼ;w4,MFvC6?'^=ÌӅd;w^\Q~orؙȖ[nǗ%Oɿ¯F_2Dd2L1詿`'&wWab\뒿p-P|LěM5f}h<3Mw_*s!29Ͽ^Ɇ"2ƿ#R`S%tP}S-̦J##n-^Qn[qp7ģntZ|E˒wj@ӿiP ˿e ;ÿUsf^1\X} 6'˫eBݣhcnu󘔿f?!՞CƉg|:|}:ֿFHпwdv(ǿ'#zGDnyUZ'p񧿫.4n/#EؘB.\K4l"x+q8&>g@ۿd_ӿwDCM˿,Mÿ]ShBhjrlZ9g{KMI)z刲Q&kY>_BI݄BdRBֿX6п+&ǿ1rCdzDr̰J/#>xhn5D0B 5ݍ"YISJjYڿ2ҿ}=EʿA֭%ÿ|Wv$軌ax߹A板IjA(m/xx*+錿tt忱7޿8wտkyο&[W ƿ1"+10|A;pbZ?؈DF;RȬ H;͛]Tkq^Ezzؿ~tfѿ0j ɿK+.aLKMj:⪿gB9|6£oJt2%3;JT2YQX)Gۿ,ӿ&U̿O)BĿ|:>i_~qThR`Tנ\\p@W&Nޕr(/VM߿HRﺗ$ֿ ϿaNAƿ0fi=#l`EF{Vꢿ {bBCmA 迊 ^J"뺱qؿ) wѿQ\ɿÃZ-o 6_=}t㲿.o,v1૿ .? w"=i}=WmnoSo?[d_omO;ڿՇӿ[(`˿Qÿ'8"wjw|Ӭ^ 4< Fh]8 9rHeX Zּ76hܿfTԿ{ЩͿ~c\ſ,5uІ2츰fsXY\'o>3b+f)@ *J-Q͞忠+2޿j%ֿ}ЪϿYp0ƿ\!OxYI-yrgxMP!j-}s sGb |_࿔6}׿>=пu;kȿr壕+hty=X Pɿ ]cg¿YHDሻTg/UZU\ߨ#e褿a;dIQlq%:!5KU%ٿABҿEʿ줞 ÿTr⼿aQq7͊3;mRl /+]X0Ct[g*Xf#~_D"ug8Zڿ}ӿ'9˿chQĿh' uO㿺;WC߿j1ٿꠃӿ?XϿȿ6׌{ÿվ^I|C޳[Df,\;ݨS.TܿVYx׿aěgӿPϿRƱ4@ͭ 6{wz#=mԿѿ멭osͿ.NλȿXoĿ%'9)e^ΌD˜HF">eȢ!b:QQYp.\οei 4ʿ8ƿˉ-ÿ6ޖc,**mRέM@No.C&vx|; פ^&8~5ſÖ sqÿ"_5ΟMi0w:m"i#r`Gv_\~T4~yEl:Z-8NI2缿ÒX͹B9ƶc쳿g4gSj* z/7MK-裿Za4 =~' @Gy6μ x l'Y=䎱H;*ލ*rUyQq=` 렿?TZ, ⒚~_d#U7*Ֆ{ڭN60G@ _iFl󐪡((︜iN܂~xJ[.^b aC[~&3/Vl? @@G}EJ5jΊjI/ L$8f iȣ梿F١ಠ镽GK)&x~b zb vM ċ@rE#ڔ4~o@䄟΋)g瑿b& H}pF*E.qS"Mȭjt$k㕿1̲kfWyWKFjM IΫ>h) hMu)KKX媿$`/Zڲї ShUJ%IYS5|XYcO0z9)⿤HٿmL%mѿdȿQW*|=)mпsqٱܓG<!E]|I%JqM9s/-SC{+ȇA.e0-[jؿ6upп=lܒǿ_17ςⷿ|q69J"mᯚpK̴j7O h!/l&1rT󉿼 Joo/ݬaj)pu׿zhпI!?ƿm'C cTM=P͆tvV俤^Jۿ;^?yҿaogɿzoע6%긿5c5豿sy"-'48Q˄9n%Z۲`l h>JP󁿋rݿ52vvӿs!+ ʿ 5$_<;/8ģ9P I92:!Wlۤ-ܱQ&s*Ю%ٿ3v|п^U4ƿ|yﺾ ʵH=r$*b#WztڐkꚿOH wX;U"Ҿ8Lɜ4YdY-ceԿ(ʿp5R¿ R}YiBM1;7q ƞ87CӗĝKǒ3Y,/X%~ʈt ބXk ?\ٳ}^п㢚p)ſG"O<u^T+Od;6/e6,˔))%+\*8PΙWϹlx7X!C}c{uGǿ*s? Hi(,dBq5ETuʷ &}d*m5)ڑcj܌WHF)胿jGP?v ~]/FH:'{:Ԍ@yCR[vQ.9꧿FT*ɏĠw&X+wYKu4;N#Ș}Pe_~%lz-xDvl2̮6RK[c9];m뚿aZ0 oUo?}jkō) zɲ3mrsRP~Vx˥z w\u~@yTtA~Oɀ%AۓikE摿ͽqdHHꊿFo/J̑瀿T[R}/y3v9tfs"!P_rgNk"?bj???xɩ?_?́x6?? Uz?R? gɼ?8񼠾?^9sz?i`ֵ?["t?r볹ơ?Ӿ*{?r?3'?rث?$u?* /?ECFF?`|?r?ަâE? ?҈?"˯?1}?#}/?z ?Ks=N?O=?[Oੱ?s󂖔P?ic?5S?qA]?N?t}?ܕl':?Ta?FI.?G`?,A1??u:'?K?tfÐa?F98â?fҞ?H5?}rx{?ѹK? w?H?p=z?脲%?ru?4\N]?C޼A?e?oקH?݋VPr?+ޅ?_ U?.hTݒ?ĕU?b}iv?Oko?BuPV?wt v?ܹ+? Oя?)=X?zא?#N?3-?r-Ȯ?a8H?>?eTC?}&?H޵}?@59jb? 5q?KUɊ?E;? v6s-?#3?Ak?Ev?vSj2?E?V? |%?բ7?E?@W-C8 q`d[Mmu?J2ut?;kQt?|\s?Or?1-ip?O/ml?~:g? wa?FʭT?gL}1?uǶK:D`g0Rs?Br?:)r? \.q?=Jro?Lsl?eQ|h?l'6c?S}v[?+2M?ܘj>KRTP5Aaq? Oiq?{Dzp?|mo?͏l?T>D5i?Je?޿a?AmW?Ng:F?a<76%e#Q@H`U8;>/7YA>0F>%ڊ~yN>:nGU>5;3 ]>!8d>iYW%l>C-t>ّoL|>W!ރ>1t>W+>[Q޿{>B,$>ns'^>L Ћ>~fe2>$Q>LJzx>d=.>>?>tx>V>Muχ>>)d\1>)Y2>͏\>RV>qx׶L>1>dT>ȿ`j?lr?jv>_>z>zsC>Ё}c>;?.Y?5?~?VB$? --?x4?'q?F%?EZ?xѩ?O4G\"?=su)?B]1?G _@8?Q+WA?c&WBLH?):[Q?v#W?d:S]%? *?x>)1?bZj7?$f@? F?a-O?|`DV?CDtG^?{$e?:#Yn?Ju/Gu?)SD??~C?nc I?L z#LQ?u׺W?PHm`?#k.Jf?+۳o?v QMOv?V/Ǥ;?}p)?T"x諎?.Ҍړ>=k>c]%>2Q5j%>>Kr5{>=>fv>p6L;d>:Q8\k_ ?y5 قQ_m Rΐً)񾑾s>llc >OK3 >P8>*ѕ>8>w>C>G7_a> -,WAooփ~ S¾l8ʾ~D jѾ ?վP+bؾSMlo۾kwl? ?l*V?ǃVj?Q5t8 ?ѷ8?U c?x[Ŝ>DvT>^%ܮ0Qݳt?꾢yIZ*&ma㗻d L[^+A?-l6@?dGh=? ]VE:?z_6?912?Z+?!X"?3ր?qZھ,Y<61=W$-1?@3Eb"8siRd<:2-@EO2d?L AWc?4Weza?ۋ]^?k3BLZ?ssU?d6KSSP? \E?v!b5?"n[a_7f\Z%G .QfVk"9["Fu`FGt9RbLK.?+L? RS?9ɭ{?>w?Cl)hs?BH9m?pS;d?n|tT?rr?RST,`c~ݎmsx#!}@/Yiuې?+=}?7VŴ?O+?O%fU? ?-a ? amy~?ǬZp?BS>?T=|iߴ,f{з􄿨yvV ZJtWNЙp %ɗv~/+BEL `Z{q6qsJgk]PcL*/#\tdn-Tvޟf-MG<lE,@8J9Čl:ѾZ, vȾ$Mfak#Ã&Ĕ`P Js⡾?cȟI򋒾-SJ<*HŃVJ%甹{ \JJi I3r>/EᾡhjؾBѾ.ݓɾ:¾R`{|;3Uk90,uFn $c~~%F;b}_ 2Xm]%Sm#h9̓s5~GrsWQ|_{iP)J/UGQ|@l'7ifM0ϵ(N*M>! b`tsU1 !Р2@\tMS %md>&w]mT,,ӛGMB>\YE}g>_e.6N0Y`(ɌEʓ#;r*o^0 넿ō(}A<&u,@j!nG;kueR^ `lVTO1=ScwGݎAr28<뎀[q?e u?hx|?AK?Rޔ?IJi?a :2?vW?+.A /?j2{?/Lț?``?s>>9`v?0e{?٪?"+!:?ؽ>A?+1? Ä?q?Gp?UM?aznĽ?O?'7{?IK?ƙz?F2?mQ|?X.?uW?ӃY? Vڲ?H1K?bB3\?p?:ֽ?Y?j`e? OM?&??ʼT?/Ec?i̶?Ŀ?'*?ئ #?Jz?ֲ[H?:U]?5\ӕ?J?wZP?\p  ?_Xm??cO?UN1?ėTG?4?Uy?֨--?ye}?YQ H?TłԐ?yеL?o5?J?(%?쀛K?@?E+܋?0?鑇 ?T6A? ã?"נ?#,e?T2Noӣ?'Oj?Q+ ?NO%?6eO?:??Z\?RYGܘ?'vq?4'?[w/?Bf?0H2?(KZ?565W?4ZNN? vf?[&?}" ^?T?z?*@V?[+?Cim ?M?DV)n?];?ާf?<Ӂ?.>@C?6{ rl?՝?“?~ڔ.?05?%?@?o\?W^9^?Ć6"?#@`?3W ?~ƙ6 ?~ ?Ep?*b含?U?i42?:1?Z?MԜ.?|4ZHK?@PN?e+Е?Xo3@?;? r?7*{_?Av?Z1xꥹ?Yxh?Fƻ?EL;?2jD?< ?ņ@?L?1P ۠?0{S?uf?,"6`?,I?MFI?qجI?LGR?a-? YE?ta?C4?򑫴?@-?$F?=;1(?~I?׎J ??U_?<-C?,]@0f?:^牥?w?T?_a#V?8e .?ܠ x?,9&m?(u5͆? y?X?>cp?:og)?M;?$a' ץ?/!YCX?FX$?JҲ?HF ?P3?>?N=6?R?p6/t•?g~H՘?prn?;*?g`W?-4?d떦 ?0=?T,Λ? m>}?0]&?efg?/Ბ?_S?FD #?f^?2uuג?u4?ADXPo?D]x+ޥ`?%KZ-?6\?5 9?20qs?-c{9̀?W s[?0 ~9&mWHŤlʿzp?_eW?I$gⶣ:p뭀Z*A27˰5f"ſ.P>>Kѿ/ڿ k?2-/uګX?Mp٣j[3`{zY\7Q1ߛ9ۮLD+YdIǿo ('eҿPCܿ`Y?3|BDsy/)qIRD (mĒ!Z90xXT~$Kh7I{7}0ȿ2ҿcVJۿ c@q3/cdxRv5XU픿6$1$-Px(Ɠ~BQI\zx`Cƿv-пذiؿޑ1~п52sտ\=ֿfcӿ<̿&'AM?Rk?Ϧv%?q?\ЯF?塞z?N?79Q;?eG>?gS}`?tз?@}a?Lf?Sv$9? >? ?1?^?Y?9Z2?~b}?7W?(n3?Ux ֟\/1 7>dx]u?ZS? ? mo?x]?%ljT_?,?1wzG?5Y*?sSC?@#+"?8X'?(?Mq?H^hmc?υA?=ͳ~?f?Đۯ?O{l?6G?W7?^TtN?rY?.9q\q?zG=2?;:?v}?)=?Nˋ?Uf? ߮?7,M_?:﷦_?`;_@?{%B?|?m>?R{r?k?J:g?_?UY?ȑ`a?[n3?\J-?+?bC0?gF?RKyJ?^F?n$?nC?b#?݇|?j߸?P{?;+? =?aO4?*Y?bIE?CF?`gE?l?=?]??XTH ??Z7 ?ѥ{k|I?#[?/Jdƿ?TQ:?[ų? ??ܔM?Æ?? =?&?P?#?\2F?]y?sF+?R(?=+?`4?'njrU? ˙?Zˤ?*Bi?]P.?dyl?fXRI?] ?el?Bؿ»?Hv!?5?co8*?D@?yJ#?2? ??\պN?B0E?6ԴsL?`"x?A?$ºc?h?ǰ?OM8D+?99\?n ?P? j?JA18? ?$ Z?O9m!?xz{Xum}Ӆ 24B!4?6x ?#Uu?DТ?vM?>7E8?i}'?pҚ?`"r? ^?-?u)"?: ?-|v?ʑgG>?ɀPLҘ?`dk?u=$mnkN8Ä>n,hӦf*B]OîTzcᨿH׀st?̎?GOR?4?B?!?\~8?*d?ŧ?y?-)d?g˖>?e%p?{֭? huVWA0,T-fDASPrD\hwxT}:vt/.m$l a] +lXMX&`BT?q?/8?|`!_?hKA?0ͨ?8X[,?bNc|p???;?)? ?0?=5J}~o%e(l¿ujԉǿC__˿GGDͿiqRͿf=Ϳ[E.˿;ɿ8IuvPǿ@ĿcGR g%lb ]?4z?^n?l(?M?¯M?pHlp w¿D^Ͽ3UԿŐRؿaY)ڿEb=ܿVŒ ܿVX/6ܿNLzۿemٿCmaUd׿GտX;YҿRGLпS`Ut˿N\ǿN&uÿ?k܁C?g6?DIBT ?YB6͗?=` n?֘ u?X$·?ʱ2f\%"ێȿAk|ӿAÙٿkD޿WI} ࿏0BVRN=+8 H RQ2T޿dDغۿQؿ4?|v6տҿhߒ7пA˿٢nƿ}7Ķu-2"  DT8{~EC +✿-MBG 8Gfc@j_~a(vM٤gDȝRX`ᔴ~Ŏw{dکvB1ByÀ3tsGqǿôqtJ!?& /=Lk/#bL, 8 I/fd .G&3K}& jw 7œ˿-CAÿ;hv;糿)gWPr1(")2O b[dž:,Cg׺{0=ϿQ=gƿ֘G俿ݖ6 "-:9y\{UE<2L=nЌu+I ~ʴѿ4݅1ɿEjfBaʡ0F|.5Ԣj?@V퓿[jSª!FXNN'ʛӿFas˿ÿD`I}]'*q=H:^Um?4 헐<%Nhjv_aտaWrοݓſ¯8Ԇ0E$ݯ8KiR2ݯZP(YW9ІyM@ֿ =dXп)l>Sǿ b緿U(0B|ר >RÏқuӲm;2}4~Kٿ.!ѿ{K!ɿ&\¿6}l*d0aj~Q2`nKZqOxZHpl5،:iR#tٿh2ҿ8;ʿ7_¿r@`>^Qۤ AnBAր7m2tiAlc18 7Dٿ;ҿ ʿ K~¿`+-EƳe焾dXb]"2b,C떏ȣoؿ'!ѿGH1UɿxrY¿6t/ѽ6H)Ǭ0aDrl3@NB\Z6Vt1ֿ8dпr&ǿdzoKHN@P޲]<rE%N2ÿtwHͤs3- 1VҢh]5mw G9͒'4쏿[yr˿Ľ@Ŀ͙w$l_mKq\_h;_"%:̠RtI寕n. 摿Ʀ(  ÿxȺF꽿D>uI*VΧgI5IrǢ$;5 <Pܓ}#J}fxwܣ{bݝo6}lեSr 0 GO]-: Rmz#sYOz>7犿23L2?1ꂿf?< qN♿4ԝgAdZ1*6ȓ#N/?)I\?hҊ_YkPL)ȸ?d, ?YZ]K!?}|Y?B8V=r䋿6 ,W֩f7yr~ކvd[mM_H?2Qۺ?1R?F?C ?go?ĵ}}uF@" SQXpG܂ٞӘ{[zJɹ?22?X4?~J7?8K-?=[?sbh?U`A[%]sLcΔyA <|,G}R&?Ĥ ?@?ƿ?)?hTå?K~z?,C?A0m?e~UIznjFrsv[Ɉ?"U?7?|?q+0x?Ѡ?&?(Bn?Mo*i?̇8DӖ duLm7Ԃ2?^f?aޏ-?jWsx?s8ο?4 5t?x_(B"?BϷ?H(V@?A1Ry??)ͽ?ѝL|gv?XX?S?*@F?bdf?Jmլ?L4bȭ?3=?7'?./ S ? sKb?4?k*~?ДYt?Sd?η??+^$ x?7}7c?높U?GX?v)hb?."Y?-Ma?A ?}q=?cI5>D?YAv>e?d?]QCEm?my^?s"?;Q*E?POw?cP?je5?0ܮ?qaF҂??'F~|?[HnR?&c?n%Qǜ?YܤO?p(Ȓ?cX@?z ?ȱj=C?iO?iQ?!8_?Jh?&͠?8 ? إ_?|>nl?%D?dgog?3;?r? k?5 ?1*9?-53?Y{? >S6? G?N0H?6_[?=Z?=`А?=Vh?z(M?A]GE?-%?GG;z?~jU x?_  ޷?d"ȸ?r!ަ?r00?° Mt?i"(q?qo=p?/l?(8?'d?sY$?wh~?vz?2T*Qw?FFt?1q?W+n?4 xk?hYh?Ky,BM?u |? _A,+^z?Ŀw?(u?4xr?Gs%q`p?Wl?ց9i?Xe?YNc?onna?MZs?s z4q?`p?b㛣Cm?贀jj?}6,c_g?]d?4_a?w_?k+lf[?6hXX?3HV?)H7?\? w?]e?3u?ig4?E1m?\@:?t?`2D?gI:?NTK?Q/?Vꯁ?:+iu?jEB}$? {I?Ǥ?LA?T?Rlr1?ZZ?홼h%?+TQ}?fb 0*?ĺ^?2{fB5?Bd?S&?x0u?\??|>*?Hr0?.?֔F?C?k?IW?~0?D­?#lϘ?Fw?12#?_;?ҡu?G?s{~?T?Mn?ȣ?K$o?J'OJ?RZmN?@\A*:?ڮ^j?M?Qn?jtc?lY-Y?m!R?m)H?ihFdu?mk2u?=W?3?\QL?4<&?U?g?_.?,w V?ag?~H9?Hԗ?ϻ`?@S׈?*SM?Q u?v]?x>??A?mzC?aud?Ax4??gvB?*9Խ?;\*^?$?1xH?%pQx*?B?L?@"ũ?eЄ?cWG|?-7r? 3[?*7;g?T?q r(??}JM?߷r6g?^9+?-ן?L^vF ?mL#?C?s??8z|v{?Cc.f>q?Pl?m c?Fu?x 9_?(p={?#2?ߌW?;醼I?6tH?^$p??]F?<=(?Ɋ^?/?J.?7*0~?1? |S?AÔ{?Gys?Xb@i?b$F{?I-(?K [?gac?Q&?L Ȟ??{g_?>HĔ?}E?ain0?mՇ?zNހ?IC|y?ӌ5r?7Vg?yWjKIAt0pcO7 ~~Eg*iRV^~ 퐿믷ol®6O|ݒj࿽Qs4D :|h:{65LZ)Goq= -p_tb?wK6S Vрkh܎qHbwBz]7-]ͳ=~\ KU]= h{\7'[!呿S|p mDzsгt>-4tsbq)8UeawwA. 1u72E/1]x&֡y*>6S%8?yP`/N?L!d`N\?U`/g?mq?g x?\ '֖„o[\Vx3& ?Oie%?8b8?F.%G?&5S? ^?\rĦf?o?hcVu?vwb?R?~pu"?#".,?N e6?RA?WcK?!Ԯ$oT?g]?>U*id?HN8bk?q$Aq?r#?u(`&?A]ȕ,?.3?l':?"B?sb/J?&R?Pr۠Y?}6a?IqGf?CwN=l?Y+&?h)?'{.?)3?nq]9?αg[@?b0+F?2fxN?4GT?;dZ?U~`?d?S݄e#?,6L .%?G (?,L\V.?9SE3?cQqv 9?{n@?gE?iK?ɿQ?vgV?1SIϑ[? T9>]dͽ>> ԟ8tC>,wJ>fQR>al Y>i\oa>Ɋ0Zh>s3 q>Iw>N)Ā>>R[:>>o>wMGI5> ͎ܐ>g_ >:Xݟ>c,>$M >X> a>"&O>,I>SR>tM>6K>: ]n>uO>CL> >SvL_>%-|d>%>w'>v>2oh>ktX?靭 ?c>+>X;sI>V8ݒ>Yd>V_x?$϶h ?>[v?f@?xu(!?䁣(?+6G1?g?8?EDe?=@6 ?b3:(?HQf?ݺ\LG?>%?3B .?ݿ4?fgTP=?t~D?@cPL?<6+T?Te$L\?L^#?7'?:{"x.?a%4?jI;?JC?J?@i|R?L=#Z?1Kb?!i?tJ8q?03y?"+s: X>gK>3>|>푁x> hă>RV@;|> :Dzp>h̗Q>q2_փs.U~/0HL^֏ >#˻q>I9>TS>!>k/ҳ>>T>o>w4K>OAɥ񗗴YRlƾ t9ξ 0zS]Ӿ\׾nV0jھ_@^ݾV80?ҧY ?7lv?d?; ?"݋A?-B?Q+G>$F> n>Y$jݾC0'@N0+Аp dF]@sOzfv(B?`!DEA?ށ??'''?jE5?"e,_aI%m))R1-Fm5c?-WK:|`Բj>zSA/Hme?ԡؾ1d? K@ob?ow`?>b\?ƅRW?7R?r]XK?O>(r@?w%?y.U(t!syA,LF+ZS;2-OYGpCGs^Q'7a)|csm_?N* ?a?qjy}?l5y? u?FRf*q? c^0i?fɴ^?>ܠE?BaaE]['9h7SpqԛʇO@vez:G*6 h栁ӟ?s?T"F?o?5ǒ?O$?R2iX? ?e>Xww?'Pb?"U,tCWEw"C>C??$LU?`?Z?Kx?־؂?I=??q}Z=?~N? #?ļ?6Z:ѫ?c QS?,_??b8~? b1?-@`{M?b~?t󟖆?Ԡ0)?J ܾؒ?}b?XPT?9H ڧ?D'?Α?5a׿?FT-?kEg?WQT?8kJC?S EB?ː?lK&?xƥ? 3?Lb?wbX1*?P Ǝ?q? xڪ?g$f??)?zި?|}kpU?R?'JH?Wo?ǿvģ?NS&ε?)B +?)9f? >q[?Ē0;?H2?Mg:B?Hky^?{g5֕?e[Ļ?>y ?YixrUթ?sp?a8-L?J"Q?K;=7?*? ?<){a?~FR%?⦂R?6Q?]dH3?M$Bz?#?L1T?]JQ?Q+ע~?pt%>?l)2?bp?<Ŕ0??} lW?/|W*7?X*O?d ?]&B?"k?"\݀?@?:d?)0r?w3}o?o&?_S"m?3Cܜ>?:G??O贱?IG\?r]çĿ?}b?iZW?Y4?mV?1O`?/r\?J?ids?|S?h'?l+y-??PS?Σa>?p?}?ELYV?(?(~;?-?G3?ś2?HX?逮??`F?+r?qط?MjD?`?5v?w6\??/u?4>8? - ?U-Q]?cU #?_ؑ?>?$8?D>-̠?|iGS?N6Pې.?c$?C>?&3c?fkL?+v?h?Ay?bY?Ǫ?zr?pb{ |c#ТQ>g쿫?{iZE?}(s͊?2Kg?V]y1??8iv?3k~~MprC$0 eRÿUпp&A%?}-r?G7|?:֙΀?v+v?e.I?"d牢Ck D%P3#x¿J ׬Ϳy׿]޹?_~?NU4x?m? .CZv)hWm]hR,-Bl_O#mUNϯǿ]7ҿbюݿ4px?+&s?cJg?+oo> txuQN6sA Dw⩿rnr+,k)pVG˿uտAM#$Pp?r%e?-!?4p o22ԔP%bKccUG\@Qb1ÿ֠ͿDX*ֿ¹kڛf&b?_^߁C?B bM٤Y{NօۋF۩0{'R4dTuÿ^̈́ͿeֿPlfKP0;G?egeHP/K8cp#AgҜ.׸GӚlT7kuRp?5縿U٫¿$˿'dԿQ xGW޿xZqdɿgջӿf}ֿ%տC"8+wѿ뮵 [ſ;!]C&-?JMW i?ŌL??z?:?\0^K?$b?}?'Nj? #??I4J?J?%)?|t?Mv?x蠹?4?M$~?*j? ?1v?u? ?QՍ?rǗ?袛?J?qF?RZ?Xw.6?,j?N&w?J?u?)V;?X[?d)9?ٯ5!? 2?g܊U(?=/v?yDX?%c/V?7Fx?6%?7V?zu;U?:qs?ܚF[?灆?#X?Ec?^?=2?5JqH? H?G]?Vusbֽ?gZm? /?[I%?6N?ID?Åb??,t?]?k2?/=?Hı ?1?7?w?Bj?yW-7?Ŗ9>1?W">?q?0Q?PMI?ͤp?(9?<+??b(g?O ?Pz?1a?`J?-?&?Ge?vkD?Hiw?5!M?Co?<?d&{?d?C?"d'x?ՠb?t ?F&?z? ? ?Y75?JHmp?Lʋ?cjN?" ?3WW:?O9?Ax?(n|K?̶?t̳?ϰhO?ĿPz?P?P?SHޘ?1B?L?kZ?qo?qkz?$̗Q?5R?ÌJ?R,V??KX%?XOek??Tli?B?K;?Ο?UiBw? XS`?R?}x5?Jp&a?Qbw?^$?sU?4 R?n ]Bm?=&?y ?K?ۢr2\?V R?fS1?𶠋?SvC?A?"u?R ?+˰?*+?^-/?z?V?CQ0?9?an[Y}s?mY?Г%?$UL?ATT?(u?{ܯ4?Ł?)?;6p6ɣZ>?;&?P)??y?I+L?+S5;?Xf?Ao?6i| ,?cşx?=?^??VJi?Vovo?X7L?.=CO(a0曮v#Hhkp7(ͭP_SsډbQ! tºiMs1VLNUDճ(cD~Ϳ*)Þ̿[ʿ$4&ۯȿJd4ſBg]Cÿ2(uXavٻѵ(0'?3?T+?o?63}y?UD?m͵7:?ȰN$?ƀIT?|V{HU?䗡Kh?)9߳?I u sh{ڞtP,ʿLF3пswTӿVԿ)씊տ`}Zpտ2EԿ`߻ӿHѿX6j)7п4T!د̿N/ȿqlU:ſdݡkO>Jzq<?'ο?譠?g[P? J?֕]?LF?M9s?X1Z?h5ʞ?`ܸɿm^V`;ҿ6{ֿlpSٿ/ޔۿ!Xܿ)Q+ܿۿ{ jPڿ_x;PrؿeIEֿX2ӿb&ѿ~6O#:ο}uwɿmſ)aDSt?r7'&?e&N>?&[?e?4m?k"?'S?$n)?oY~85пUFFֿGܿE,߿؎-.(ῖh+MCs64߿Rf ݿLCڿȅZ׿\7?amԿѿͿZs*ȿf _Ŀ}RDnkn#㰿|4{2c2e=o^:E*?z ~xzi,sQ`\n7~b0di`,7Ŀ$MWmMT`s2bt凝t,΂RG+텿`vA̿ x2srY`nYȿcdV6F_Ytz5MSerRO53UX1e5\p]6`Η|iBkv,,R6r8iK̿ Ŀf_3隼r@ą\T4΃ )&=Q"+⎿JשMVՃzjuTZS`пC0Hǿ^,wVf_ajϰXY<_"3S:޹Lnfٹ*|5>_^CW zу`!~hMPvyQr$hҿRʿll$¿[뺿G]3-+qľW?#@׿\пB gbǿ^#11d8,Ssѡ`ߵ#󙿷(Y UghWtZٿ ҿ17Dγɿ*V¿@S8rPr˲,O &O 6]"4pt0e W02ۿ3߷\ӿ{˿xtÿC3ϫ9]nWBީY4L1+?Ln؆xps:la@Vn[IJܿ) nԿMa)Ϳ'sĿ73 潿xK5[kuEב5MF*r뢘 .Tǒ#LjF[ݿ*,i -տCa.Bο7ſP)#?CXr!7NA#iﱧ99Зo*] h'򿽲)Y/M!޿S;տ+H7ο/@`AƿZmH׿!(g_zYƙR|]#V@ܔϵ쩐Ah .r*kDݿ;1`տο%Yfƿ1é~꿿&*&$谿,'fՀڨݾtכqȕ*TGA)vWHZVۅܿ%RԿcK&ͿfſV*Jpe]Զ ŨZ`[d,ޕmFҽ?)t%zۿW ,rӿm0$$̿7燱vĿz/е潿 KcapBBؿvrYѿEɿXPrJ¿$}FVΣ[M#- ;};&*v0FBΦ ́+KuԿd5οlJƿ}qYX¸(eXXyr+>[-3zxs/H+噿u0z 7S˻пKIʵȿ0%¿WdvF0! zR'KwsbEG[XqM!:} 5"~AT cNſ%9F𑺿JkE"9Yx͂ ǠA>N㕿d0b/"37C%i;nU:O LZpg*vEuޣ5NJm|/6QrΒq9'V̷(^6?=@aC&"M-ϏNVB.ҙF3nK!䎗Єf3΃H6-zpз|vq8n ÷e?tҙֱ?q'?jJ539?1C]2ox =jzȊ[Q=[wΘQﺉ`%_qLJI@ ̄g)&8!?O?^?I#?fY?+8q?׋L?hR{nf;ZeȂJ[!Q'ၿOM!S\?'+c?F5~?T#)s6۱?ۤd?#?t~vl|?`?hjuLn eپ5w710{H(Z|I7,~}T iǑ?sw1ǡ?/05g?)Ნ? b߬?CQ'??_5Bz{?[Q|R?8blٰpPt&Tv$?=m?XV?֜!C? m?vj%?wQ7?h{?1aw?{خR?ÅrdY)i)MKp ^?qYJ"?ɣǵ7?1WxҴ?MEgg?9Zbs?^z&ل?bQ(r?$⍗?]?Hc?9g?{?0r?'S?u m?IyoW??|@GC?>?Dhk.? 7ߡ?(~%?z?I1ԙ?e\?hz?(?/?A5?!+Q?J/?k>?P0Z%?y4;z?ݯB5?^:xW?| X7o2?ތ? ? ƌ?rfM^?I}E?}*N?Ny$??.`7?YEX?,殳?!Ɨ? >ӑ?c?Ϟ5?E'1?5'.C?Ќ ?"c ?J(?x1پ? #n?D?ٔ:B?ǩ\0•? -Ɛ?MY7%? :*?!㈞?ap+? [?ן2?Cv?.?: y?7CH ?/Դ?[w]?z{|"?p|Rtt?n!?S ?A?Lut䖲?JNެ0?'?&)5KZ?rK5h??z?O/?Όmِ?C;3?{T9?w??86L?կ?^Koz?8%BK?ֳ>?[Y؞?~\ƙ?VWXU?o4?GuÌ?/O)]?\?Dn$Ѐ?+~}? }9??v?>sI?E4P?K?D~?C2R?#?%n?,?;B?X}?RYz?|?:›?@qǘ?` pΕ??嗏?ɆH?; ?P LF~?Oyۃ?)l؀?wY|?' \y?w?ݵ?6J*3?F?&Gߝ?5݄L/?WN[?ϑ؅??(hO?&Qx{?w9iEw?^f`!u?~Ss?C蕐?U47ޓ?[Nj? ?R݄?|KOU?:w@pπ? b}?ViSy?gIUu?; s?oq?.{Ko?n*鹇?Bl?u)?dzJr!?AWG*?3Tس|?χx?VY8u?UVr?|G9}p?oTm?Pj?}Q"h?OM2?#~?Ƿ{?mD|y?nqv?Ts? X86q?jn?fj?YI'kg?k|L*d?M b?Na?Jat? yr?(q?ߤk+o?!Nk?M)uh?C4he?H9n7c?GɣH[`?-%]?d,O[#Z?pTW?5U??؊j?[D?F"06?@c?.r?n?B?%̘?1Z61?g5?xv?R_䁚?28>?jzH|?o?^E_ȺH?`?KT`B?Vܾ{?k7?{ڳz?"^a?QM?1k3?dnT?, C[?c(h?1?ӎ?hL?nQ6|? o?$7?\~  ?7B?7e? ?A,ET?76?gdx?_:*?GiVң?*l?Œ"-?J!7͈?Kzv\?W|?e[xo?h?k}6?m5ʉ?k}{z_?_F?p\?y;萹?cVl[?y<6Г?'㾌?=/x9?Qőz?%}n?Rx ? i?pA?!5u8}??;5ڿ?n_?WB8Y?*g?0;?6CTY?Y'?*[݋?hĈ?Onmo&y?k%B Rm?Z?ǫV ?1k]?p*?rD?ٽ?TE!O? >?ܥ?NK?@ݘ?Fe?zۊ? ?\%y??<{ul?$.H??(.L?>`??浛 ?/Ňϳ?1iP?t6)L?C␈?&X?mV'?4Տ?* D?(rI=x?pS|k?y ?DL+6)?85?Fi?H>?cF/?ߺ4??@պ?N4ڣ?}?-]cM?&?ɇE?8`w?>w?ij?uؒ?R5?|vV?/1R?=𤠿?%˖?`dʃ?M9|?^TW?9)?R\?[g?7i\9?zV5?v*v?3g>i? ٴ?R$y?&3n??Ҥ?nB9* ?4?)?J2?Q gˠ? #?&!r?#w_Jh?2܅? 0f?SNu?zh?׀z?Dɑ?t{ ?k?7gRy?]Vx?^d*N6?ъX?z`Tv?U!Jg?聭^?˫1[?3ǖdt?Cs}? ~qs?3f?b/?E3?^?dt`׺?;=ڳ??Yb?⚭`?\p^?%KC?Xfзx?YG?`s4?A&9{??s:+r?Z\e?<шɁ?,?9'T?z z>?>)C?*b7?)ZY糣?;2?O4[?dEi(?P?P4?p ?kay?رؠ]q?xmc?vZ?_ ?wE?4?gW?ؤ?"S?I Uњ??w?F?ų?Y4(?(y}%?KVw?-Ip?_G\ub?0̫?Kf?b,oߪ?fe?ih.??WZ?,?kڼ?iU?:0 K?=i(?x}?_u?&Km?Q6a?epQyȨr%ӇM=a<ᢿПIyM﮿EqlHR5˲y8|fo<cwC=OA?Jp$y蕿 UB![6oͦM'??E9LMe9ƒlew*to|Gw/}2qߠURQG*)ŗ^Ke |T_<Ztdžbyhhn{p.#Nvөhn}HׂK8z@Z/*om~<k?TK΋~b>z0\~_Acqpi٣pmϯNuH"bz%K#lhv0PU(~)׀CJ=x ˼K Xizv?GѵoX}CVr^0F8Nc3Տńgh:!nqޤitO|xFusm7HMT„+d?KE?cNR20EUhM9[o>`Ef2c0UEfvg(f`FIdV?sir?q71?Y0NH(ejLM;$QCTm{{WUXWBWeW`Q` k4WdvN? qf?uu? ?A>]?YQAcYg#D@RԤF,G^ E4*=Xқ.ݾN T6G?q};^?vk? :;v?|;?N},V@ms0sH: 1l| 2ͤR"-SneDxA!&?ל/D?n!"U? BYb?;̮l?klt?5Nns|?RW0rel m>!?ݴ&o0?`A?Ck4{N?& X?A b?`'Lj?9qr?O_x?C4Ea?=+?&%r?ԥ &? o1? *c?.u>*}X>k:6{w>lCG>hI#>Un1+>ɻ~3>ŐP;>X)C>d#b0J>Bdz7S>! F2(]>WKb>f9h>HPp>Bǿsv>8)>S2>$Ie>WJ>/wܝ>\>d:>p,S>t#>*T1>q N>;%w>eQH>òW>hU>Mr<>}/>->54>st]>@Cz>*#g>0K0>gxf>M\N>.~7>0py>?U?,?̠kw ?܅ ?>!>.N>Z/R?)gy ?*F?a!,c?ҫ ?|F2'?h 0?%xTE7K7?=T@?F?SHD4_?}ÙD? Rl9#?Gy)?֮)1?e<"8? ;A?9qH?]pP?]?W??C!`?;[o[2g?K2? Ҍy7?t>?Ĉ\/\D?З}ڈL?/"CS?hڟ[?DB48c?=lQ j?rr?bO`z?~%}?*E$H?u*O?/+'lT?QG[?Gb?q!j?fc,r?\rk[y?.v ?IF Έ?Ǐlc_?/Lt>2gjLr>f3p>-k>¹l{f>NYD`>AbV>9!#D>5^yiIK\Y;;b2_hYmyr|HqY;yws؝R>V4蟀>*lƻ>gj)>t4u>-A >/5> >"P>$9.b^^ÔxkV ~ύ<ϺPZ^+Aϑ?ѳm 0ΖP:>BAD>7ə>z(٧t>ѯ>O> >/fU6߲>֝_>u>8*]sѾPq;iv?)4N[?n\:| Ůq"m2-?V*?Ӗg>F(?[%?'&."?Y`? 7W?% ?T @P>h2NʾmiGY!A\/ ۳#{q''&κ=^*ncT?R?y۹P? 5XvM?tI?_pd^tD?( ??k4?OiL$?U:w0'̫}6 @ E#3JDpOR,Cގ5`t?RVUr?p?4Nn?xRi?XIkYd?(NB_?[%U?S8E?fmH fTef F AV"?}~`.Eekj|j23TsoYG5d.r%$eJ?dGx?fL?rV'?R ?n?x, LB*z?QIq?+hɮb?w&?89` A{}pDxWya5gw2KJjȌ}5?"UH?mZ$?r6?L?5?̑?vc2mψ?hl[A{?*LQ?kƙhrDbJ Sv>pnSTǢ~J*㊰R'J)zrBj"GW:Y)靼2!=1*G0a#utT$AT^<* !t 5:dY5sz Tr@Qߜtׄ?O2E86k̄C }Vu LuSn^*3f&tackX [jaǞ /6L9޾vtHhվҢ Hvξ[OžoXB.kF9QY';^ѡ^S+<+ \0 Yx"/Շ钤r`Bd<4VK3羜IDkJ&dپ9.ӾQȋfξ,`n,FH?>#!5g6 |h'/" & J' iI+aaL4wRU$cfkM_ lMV IP*R5YFl8P@:YN7.]P0f4(EO3!b\8) Wqȁp GyF[Bqx Viro%0bNIY@ 2ׅRF8jJ"mm@C&XQWy?t:[Ԁ?&o?m״?.h?㭱,?utX?.Uѭ?'9ٴ?~Nͫ-?s?'Rx?Ee?C;?T̫o?@rG?ճ?R,E苣?.??`?y?8_4?r4y??;5?k4[4?;=r?fc?B(?el?g?)?>w?hH-?G~~?a6(?.?ᧈ?vA5G?B^ɾ?(?G;?D9Vɴ?;r?!:?/52C?#?%Rd)?UҘ?3]W ?X;t8?=!aص?YΩ?w?jCgB߸?8"(R?M"S(?/t?JS1IE?e\w?Oz‘?JV?> ?"?-$DO?*0x?ƫL8#?7d;E?c>?ȳ?3?@S?߄?ty_c?e|?!vV?1bީp?~a0?prŶ?X9?3(?\?`?xߑ??0Gkw?23? Ο?b"?tg? o?x9[?+< ?!_?VP.?n?*Bs?ebT5?Y%{N?^gG?L۫?-)?G$ݽ?:(?Lp? 0? ?MP v?<:~?%V?biu? '3O?a'(?on?mo?.%?v:?"*?x Z??k6yF?cxמ?}P0?5D/m?EQ/?;?n<;}?(z8?2A?Hs?&?MnvK?z0?R .?Z%_?Iҷ?U5?m ?b^?2j"b?aJ?@ ?%%nC?WR?J?"-F?bTx?`7?]z5I?pci?nhs4? b7?7c?9l1?L棪?m?[(Α?B(4?Ў1?QF?!$?wKd T?׋M?Gf _?iW?:,Ӏ?Gg?r1\Ó?Y?EjchS?^ d?9섛?c?#?Xa?_M/~ߨN OۧG>c?n΅ɸ?R1s9*?|s?֏?ޏ?d}Gl?ly_[?BMP֋lH RԮÿgחy?{B;d?:^S?_ =PT?)o$p~?:d?IhBydKE]+To`ߧpWU6HbÿFiп?k{?Hd?24|?#q?OE?C'd,2E~TQ{:sY<+j$n ʿ_rտ;{?1!v?3i? "D>F]|#LWg&A% @Ј@}ĿZGп'S9|ٿPr?zfJf?\O):?tM*mמX~MgM楿122/dJɨǿwҿ[OLd,ۿm[c?MOsR9?2$hY51PZc%;9V%ojYDjȿvuҿg/ܿ{V>G?Fcڭ?YrZuIFyY/0=m= q,ovS}`~Zh4q8ǿpe ѿ&ڿۿ ;пg޿mvؿ z пGD_]?[P?I(v?!h$P?V2?)v6?Z "?P/Ύu?anY?c\\{1G?i?#?~}?؆Slɲ?Ձ.?$?Sr? jg?HMl?Y ?`jPudm?$j1?u‚-?x(?b)s8?lR?hpX?ஒ?Er\ ?[ۗ?/0o?k?8e2?@̓?aKY?ve{9?& K?Qrr3?< ?)ȓ/?8:?ӝ?I{?pXo?2? 3[`?`=Fw?_?Sz~?$4?2]2?rk?NEFZs?W_W?c?K,P?('s?z?UX{?`s.?AgŠ?yi?\bN?5](\!?L9?e[Z2?P?_5?1Xe_S18*m$|b2KB I^?k=q?n?#,?? e~I?#N8=p??N?X^O?[i#?8.r0GKӾĿ7K˿nп~Bهѿ"ҿ4PҿIlѿifA_п 3OX ο*1dP]ʿW҅ǿ7nĿ(0]UKἿ8?&.ե?C?ܕ1?P?l?i ??ި=? #1G{?Owކ¿ eѿޡؿ 5޿93,e^8W⿛w#XbX㿛 Nm6g8Ȋ|HPϒtݿX넌ڿ:^׿L` @ԿAFѿF-Ϳ2ǿ@VzId_i3 S٬-46{]k2FXN{jٛtd[Nog@ph_ ' mkd _@c;V#՟>cP14qFXMp- d5K&.y.Sd(sy7nY7R¿1Ҿ3 N~ز ̉ԪOX`*P834BY~M?xw|,zrrp ƿ3˞ZW/eML¯|&r(0.?Xi3 W)M"{ab[QU H {B]Wev'0 ɿ6eG¿=v7jK2ZgCnxo墿(uO=+$!%YIp3%Ӑ_jty.Ϳ] ]ſP轿2ax/NOKj4~¥!?ƍjs82[xYBtDR0س/X\~p:пL1ǿQMT(;_@!@ uiyVy?ĒXX苿% a7Wd0PS%ҿʿj~¿CZ-էJr>Ӑw壿u0@ќՅnx[ oJyo\y@ԿE(4ͿHĿo߰l& d!BW8&'hyu!:E䟿C2c /uvrJߊqw"~2ֿs(1Ͽ*ދƿ-i͜tLAӔ| P%>Y^f<Փwg%TMYꇿʳ2׿ aпvȿk1= ,!EǶ\HrҵY$MZw:(lؿLѿ7P.ɿ8 ¿}{Ah)ﹿIc>ɵJ3`;#D ԣK/RI[0G-U)"ӫ| TٿB*K\ҿ\dv]ɿp¿:@'gͺK&dWBb"7p3𰤿 Cd^=j#!r駍Gc oٿHf3ҿ]`ʿ);¿o0{S1 ֬4%=EYUN4H?]Ⓙg>I zEؿve^ѿKɿ'Kܜ¿ᵳzm͚Y]nϱNʧL]+do0lXk"׿kѿt[Mȿx7JrK@=/B:dwͅK9:aX (- ͳR걞] O տQ#Ͽk. ǿA:g2иd]]WH`n'>maYt..d{t{\ucS:ӿ\ߚ̿4WĿ*N:=#i<X W37R֣Na;!f:(3㼶ϿT;Fǿ7VdsM#}GvrŹT b"/q-ث3rIId |6Dflǿi ¿Da|,ONBwd+hQm;Й-#Ӕ`Tǎ_sY🊼nv,C1󓯿0Y]lƩ)/}:xp͠osխ;t\XΒ폿N9 &/>=~ʼ0$4wOꣿ^, Z[Չe;DgT5wb/7qp?l{?f?~EˈhQ㐿iwvN4M9e0].EҲ.xM}Ug䈿wV?Gx$?;f?]@?>_T?Wt?+P?e}HVtfnsP? Xn?,C?]4o+?}S(D?{\?Tpt?֋%)??W?Jt.|?]J q?5x. ?Gtc?Ҡ?]?ϐ?ΩH?D_?#OI?Y?Ž^?0?׉{z?Hq0A ?ch>?B'S?ci|?6f)晳?Q*'?1 3̤?b!I?Z?Zz?bk?hVely?*w1?hem?Ƒ~?n?f̀?b~ʩ?~eDpB?gf?1s?8 4?&Vu?KmU?]P٩?P?tR?J?O+e?=f4m?)42?cr-2? {?f"nc?94V{?G4b2 ?oɯ?6`?ɴ)s?E*?Jث?8*W0?_$?|N T?_s'-?w)?<†?gV ڂ?W?µ)+?c?ƶ@?ۗ?s?o?!g.J? #,?i߯?[36?bX`K?țY>??\7?s?ݩ|?m瓟?ڒ?[RG?c{N?.g&?tȮ|Q?ч0RB:?5?7,? ?N?\W?;W1n?Yj?+ [xg?Vfe?wq0;y?|H1w?K-,u?^[s?- q?t"n?`tj?p' x#g?|>d?#Va?v\_?Rx@*]?CpZ l?%Uj?2g?e?_J(;c?9\&}a?Hri]??.Z?c</V?;j-T? |R? $TsP?FS?6*?N?W? F?:uce?%*>cd9?{٢?&F?t>?uM?ER?RZQ®?Z(eu?!ȶ?vlVA?Eh?h? ؓ?[;?l:Ti?i|W3?@?-k:?-?tC?툫?U۫?zIu?ڵk?$?{^ $?!]?jS?k!(?0)o>?v?y,73\?iK?"? ?{Ή?Q? v")u?H ?QRO?vv.0*?9?7=?Ѡ?c7e?;2!?&4 #?SkϠ?|K?k6?<>?1)f?/u?94%?>3C?B"o?z/P?l 0*?[,?UV?QϮ?/q?7cXr?Ȃ* ?YO2Qؒ?#?֖:$?, Vd&?#5?d.?-.GTF?^^uW?-ȭ?))?JkЌ?a ?:3v?F(I?g l`J?ן[)|?Xq?~ ؚ?~"? Wh?7c¦?OH?^@?Fi?csrՍ;?a??VH&.?j€.?C?`aiq3?XW~Cz?*C4p?ꃝյX?Op2?d~?FQB?(% ?x%?zr4?fsW?|8y{?|aoh?3]Q?h` ? K?fMCy?\o?.V?]l2q? ?G`?6D?4s(?!o?L0u?MGEg?R?Ƅ- '?gGކ?>?)|&w??LYn?+&?>8k?0Hf?2Jܽ?/0Ju?`rw}-?K. ?犁+=?zۖ?GCvב?1++?APep"?8җh?[ъ(v?+!l?_?+!)2ƻ?Ό-.?>oy?i(Cm>?To?VOSs1? ;?_b?-(?hB4?s. h?2-}?z:)t?6j?RH ?..?-?WUW?\gФ?~XK?}2}?$ <[?R\?HfZ*Ҍ?Ng!̆?F>? %ez?r?DŽpJh?%Y?r5?s?F`Ţ?5aV?˒Pi›?q ;?EkJl?~?{z?f ?ڻTx?* nq?†`bf?o@i98t "td{`3v/|&P`9Vz1ըV2 UP᯸츿"StSG `jXz%tk6"~~8ɡ3_fQ}fA~47>f{%=g2[鬿X8oi0ԛ୸uR}WRa+_:gc&ei{RBpqNt?'w"зz&{4v>yZJC.1sW2Wg&on?WЧWS!]գ_;b%Fnf>Dj.n.onvڿmŌټfr3PC^?\x?g>ZWPhT%LXF4\8eL`S\0a 9`;,UXS:QAuK$R?t~M;P/BDn?0E?^#Y?53f?Q4pTq?st4y? iW>"W!';\k%>3)-?jW-B?Y '&Q?(^?a*I/g?aL*p?Cw?1(@k>K ,?/>F?"?1?IW6??3SI?e&LgT?Eyp^?(̹se?DVV~m?B= 1s?%NWK ?)Z&#? ƺ(?_/J1?f4WP9?B?K?tfS?X[?1}b?Dh?;-o?@%?9ftJ(?bEH.?(3?W`h:?.B?͠EI?-Q?:W?mn^?pc?&'h?v8%?5!'?*J=T(,?v1?56?ژ;=?CuqLC?1pFJ?6Q?@*.V?TM\? BXa?=f?>Z!?H*$?XL(?v1u.?3?w$X9?vxp@?֘'E?U,J?‡{'P?'NʼnT?v>V >U+c >w>>. >O}'>ez0>xV-R7>3),@>F!F>bO>=V>`"Z>m"5`>yRd>5k>xXs>Obfmz>Id>$=>z} >m5>ZY>+_Fݨ>w牉>&!>`[{>9zۥ><>u@8>RC>ȟ8>m>#dZ>DJS>v>b >Ѳ6>G3>'沷P>pY>LFj>>^fZ>A"~4>y04F> 4=?%[ ?"ۄ?ǒv?bo#?y >heu9>G6j?RMJ? ? eF@ ?&!??6$?v?R,?4ދ3?O;?e sWC?JWA#K?n?v6?{X5 ?6CtK&?[Pj.?? 4?NH0=?T5]D?~yL?< }S?Rϗ[?Ew c?[oyk?yå71?hW4?(:?gA?'aRUH?|GҹP?0*RW?vB`?n7f?+eo?`[Gv?.B:?: ?f$F6F? K?tQ?~zaW?(`?=r1f?[n?gpUuu?,|}? 8?]оZ?"א?[B~՜?>0t>igt>xgt&s>9bGq>Ij\n>|WCi>Mcc>j҃6\>twP>pv1>_4?|WS}1_4ex&%7kzl p kq#@r)> r>P>F2>1j8>?Ͷ>Ա>`0)>(\k> 1i>>({>; / 2ܗm5":wձֻ jrJ>?I,2>a⍕>϶;>\F>q>R\xC>ޱHVX>$*M(>:FZ>Zþ+Yv5پKwH~m%y+qK;f|b ?H|E[z3.?',?@?)?H&?.z0G#?,v ?zw?Ix?n8~?z+@'>2*4\} ~/DA WYZo,Z!et%`<|(y+BST?"ҨWS? HuQ?= O?Sv}TK?4@F?V~MB?9?R .?M72?]"zf\ 1;% e1AC5<]fH:XQM &P!PSu?!BMs?pzq?V%65p?#|}k?IeVg?Ɓ'b?:kZ?o%~?5|(&v?r7½hk?-_`2OT?6%•MϦ i$1NuĤ`5D}۔?).;էq?,nzKLF^cn>?ոh66/} [/G&D #- 54"/ a` ቝXgi[;&Hmi$$N' t,$V]:wN;8t!ykr4ƺQj@6cő'^ZL}_̶XDLi˶#% ûbپCs/Ҿʰɾ cT¾ ^D98߲߸.x}i;{kuΙ'#ާf92K  'j= xuR|lB4VGL#ݾVվۯ3оq˾ENMJ$.Bpn+:8D2.9*œ: "#GJsP% m 2AxFzqXvq~9VEuEIjlL$b8Zm{QSoR#KWoRC; [`3Ǘi,;yW$qTᰃx#}(q>DOup(yMnepe$^BjvUyJ\O#$kFxH1w@܄8D&+x2L/Q?_9!%Co.ۃ)DA|<r tubol"ddh]^URPP'LaHb'(DUX?kl?*q?ܲu?|?BX?g ?6O5?I'?Ӟ?}q9?'Π?o8q?O (vC?2Kr?q$fu?Edfw |?DTށ?0)?IB?0ܗ?o?{? ~'"?0j{?W[?mp?@A?6;w?XY{?3>? ?*?|ưi?).ۃ|?nRD[?F?;י?vË_?WpB?8+I?.yrX?٢?[aD?s?!O? ?hɏQH?V ?t>?-< K?LP?pھEܟ?^qN?{U_??#X?$}s?#*?L '?[$d?Ls?bY?%p?U 7o?޼?Y4Bs˩?ӱ?7ZFϸ?_Vz.?Xwb?x?,2G?o"*?҆uƚ?1H3?FS'?yY͟?G??l+?D8ca?ЏV?6~d?Zd?B?[9̃?RXiZ?u%$?1L?1S?(u_z?9°?-Jz??<} ?f?sXV?@n?T7xT?;V\?W ?i84?W s ?,?"M Å?Xa&q?yP?z%A?VGr?\JRV? 9?t ?* ?A9 @?? 3”?it1?//?Dg?n ͨ?yz?.~cٰ?B$rם?=9?Sf?ψ6?a?y&7?j ?G@@?pqG?qa*?5 ?Ca g3?a'?Z*Pܜ?P;Cס?@}r?acb%?rβ?Z뎸?_?%>:?#?3 ?Y'?qYs|?*E?*1?}K|?"Fo?(7?0(v?.' ?]{u?zaX?dUĵV?Q?MDN?)Z?k?Y?? q`B?Dh! ?6^0? _ʰ?5c?-Dz?@/?S?aA]6?ʤ6֑?NA'ā?58e ?Zd[Z?]ߝ?G?C?;]I?q[t^?i?$I)'G7?|.?!?G?Lك"?uo ǒ?@ה? t(?s xm?E#!?j?xS?ņ?=_? ~xòbhދ?SS?9EUu?@`ŏ?6' ?zq ?&.{c?˜z?@H4sc =2a2N2B~m([n¿3U̿nfֿ#guAF<$i?ڶ UY?,qo(Rq*3v҈ d6&na+ mpÿ]Ϳi}ֿ j῞JeW?_.%v1WbLțixOo;LL?Fv XقraT{/p,?$*?OZZ?cD'?XŒ?Ow?V? )?b?T?/L6?cFQ?aF>?2>%-1!Ŀ%ȿhƿXN E"Ev׺?4Ś=L?ON?vm?E :?jL!?؊?|Cpf?* w?}E ?#̡?(ڷl>?eF ?Z|?˂dk)?G? P_.x?HT?"?0A?倭?.nf?j%J?aQt? E?q?ff?Rww ?>L'CC?zde,?x?ar?q2$?& 7?3FT?ٞ w?ΟL?9?ï[?H {O?y?kOU?<=!?,}??)?n?E?#=V?kS?k X?}w?_qܕ?2(+?U;dH?AGS?oE2O?|8Z?s.}0?Qg ?G9-?`?-%?઼?;&?.v?(!9T? 'v?pp+?N*?YM?'׏U?j)h?ni[r?-DfL?+?p{?@Nn-?ӎ3?($?n?JCtn?"wgr?st??^R?g/?#?A?ϒii??1n?BR? %?Q?( ?eԵ1? qCu??~]n;?¥im? ;"?av?OS?V ?9N?R?~`?k "?P]?m??t)W?E ?݌L?bR?DS?߼?$+KY?&!ճ ? AJ?v?RE{R?mq?u0>4?#a? Ͱy?_#?#M?ق?^67?J?P]0?P1eD?g׻?g[^?Eh?Y?Ov?#?~20:?l)^jm? wD?`7?[?v ?,4? b7?yף?e?KQ-?ws??uB0?W{۩?(K(Q|?b*u?L"!?`?^F?*͛LT?~?pˮ!ƅ?Ksm}8Y\>HFՄcŝ$$(p0l #?Ipglj?b\]??PI`?;9?? ~?_?&?g?8?\?Ho?b[T?VI?ľzd?s?EAEЄ܆(O᧿OlUPUbeO+-Z< ?s`E׶LwȺalK8zgl41q&̡?Qmp?빋S?&?`r?,Y?_9?K?4tu?&sF(E?8 W>?Yo?pú?ee?Q @a6O ſgMƿ)yWǿt;O>ǿQ)ئ'ƿrĿS¿1YA=:[߷$jCȳvq?.WNX?fab?~$k?4|?A'EO?8:Rj?AR2{?Jb? gg^?r?S?>4^l?TpC6ݩEi؋u)Peȿοпv~ѿ1,,ҿf7O!OѿpKп|uϿl~c̿aɿQΩƿBwZ¿%2ڦsO+'?)rNv|?rĘ?>n?ŝw?aU?_%~O?Vg?j~Z"?иb%?8r9Q'yoʿ0@;ѿ[_Gտy=׿fa٣ؿ➳ٿ&ؿ|}J_ҿ]MF=Ͽ1Zoʿs 4%ſ\199zqb>M#f[3VힿkGӷ KtmwfaV=w~fnw 3q` k#^fb^j¿I,>x9y&Sڢ^x㚿} <97ŋ' 6?6}oZwuDwpBl ƿDzl X"RU˯_SO (c^ Gͯ:jĈ-\z, t)`pͫl2>(ʿy~M1¿'Ɲpq@вq Ϫ̙"̟bGX#@;N]愿E4.ZYI>lxb5tՀ݃οtſ2JiW־M=W󵿂`&JrjzWK1aT 'Z\2;} cg/4J°|_w)X+BۅѿmuȿsZ'`<=yy-ĔAmDž`o/?3ƿMʫEIZ0B⠗{Ѭӿ4ϴ7̿AWOĿZJi J/{/+X Ni+~*$ꕿ #{3=Pd~]߫k 矜#ֿ2p}ϿɝDjƿ=C+)жS#/p~2K꠿--jyl'~GhFMW3~Q\䁿oSؿD%NѿW=Ӧȿ\Noia&H h87੿]9sC0& ?}w[u#Pڿ$5ҿ"ʿ! ÿO BuEḷ'Q0$cꩺx2ȝ-fo_G>b:Z錞-kۿK.$!ӿ†wo̿,QĿғ(괿LF-8楿&*6g |d˲ԗ";,ڬWgu J^Aݿ`ԿR7oͿ&Nſ,`|(&},ׯF+F1c]1`NnazŽR݉גd:ݿofտ@R ο߶vſu/㏿yļPȶH{C"Yʡ\:|wm3ZweG yn^H޿ OտֺBο\'ƿ}3b&o^Зt۰2(NGƊ7/:ɿΌdyݿmտz:Wο{"ſ [HГ ~߰ĖqߨjYmUY+ ,m*{ hZ[\|΍6K ܿ c&Կ(rͿxRſg@l\c^vPz$߀EBY󋨿0+hLތ]长BlTđmu~Jk]3ٿyҿ.C[]ʿn͸ÿʗL鼿 UsJ.ε"\𡿨ReJ3Mຕ`ް‘OlRǚS͍nֿkп\EmȿoP pRDV5_[cz qY?=c_mk+sx#s}U,xҿ%H˿PĿt*mx szTer~r]^mdzʬZΟLa!(6O;`S㐿sbsT˿Jl\Ŀ@ ƘDG_'g)ﲿ$//HGHݸK&MF# 쒿cO5E3]+9a{KH򔿿*7ٹ܌j?]rLQ] ~ͬ@q㢿gR&V\Wh}0D Oqō%p߰U@Xhgͣ\JJJHQwO`XLEMyL.&j ɔ绑cŚHڸfeuTip1UnuQWwJx -F?z?U$?b?Bl?3?!_?"f`?gVʽ?(&ƽO?B)? 8݈?yb? 8n?S?a?h%/_?ڈ?rë3V ?2 ϴ?DZe?H?{򌺨? : ?iՖ?z^?&uJ? ھ?pm?y?sӑ=~?wz%\?ç?,ު?x-ah?Kȧ?Ƚ/k?M@:??~(b?6 䖄?O?[aŒ?15y?QA?IX?j??Q?PJm?ӗ<F?x?vy?[c? Amzh?=;ր?v4c ?ytD)?n N?tgͨ?H[$ZR? ?͂؜?wa< 3?<+4?J+p?rk?6?N?M2Jާ?D?R?Uh?g5*g?U?A?*=?}h1f?pk?V;e?n4ʤ?#MD|?20G¡?%\]?q%iAo?p&?i"{?mR1Y?>|?r!?vK?)y>|?֖D?^Z.|{?_Ƽx?`e\?ɖ?~?X?޽?~Ň?{ݭ?E?r'/?G~?bYz?"=w?e-u?:ml?Bٴy ؑ? .&?[]'،?8p)r?ZK6?x8:?N?V˳t|?,Yx?#gu?j s?+zq?Oq*?}p ?X"?KmiX?,? Ak ?qc#}?Iy?MBu?:ߜ s?q!p?smn?Gԗk?Ã?FF\5[?IyЀ?Fh?7ⷢe?>@nb?`V`?p-(S^?\?Cvwzm?Jrk?9h?f?)_d?'b?Yt͡_?kC[[?J|X?Ra=zU?TD|S?c 'Q?lO?,>B? mEw?HZ 2?0%?ů?3&]?{I磓_?{h@3 ?E]`?S[Wq4?1(?@(r?\M?+朅?>LsuE|?=)6ro?8?8j]R?(4 %? _?w2|?F|?x@=:[o?M%. ?1>?h&?:)w? z?' m?XQR?۲C|?{#ϳo? 9h?WU?;su?u1?C:?R Jm? C?øx?zzBk^?͛B?eV5?&H0'N??;Z;v?Gn!|?d=o?k*~ъ?v]V)?n:_? Cv1Y|?DDx?089`/?T۹?@?M?V8L?l<fǜ?2Q?[T?K=dA8ɒ?|"Q`?1&&?V?m*?y?l?8?,u?hOE?Ljq?// t?ؕ?;?;%H)? ?CkM?ٖ OB?{e?{aO?8qD?-~x?'fkk?ZM?z,?KH*?^7~??xj?P-?zdѫ?,#f?ÄD?gW1?1f?^90$?X!߁?4 xVw?bej?Y #?#?5ɻ ?rT 4!?C?? 3_?| ? 1?|6i?:ᛕ?KOV/?o7?+j ? Nv?x;i?Fp@?͍`?Ew?X ?nL?rGY?~#}lsW?kEEX?IM?X鑝?[Yh-?uk$j?p41⌆? (?-u?rh?gt?vﮆ?W?ܿj?}h??(ɨ?† ? N?wz?״?GYc?d7*?@F/w~?Zkopt?"\g?g??Ҁꩠͽ?pޢ?I5?'Oh?YuY<Ģ?!&wx?s#T?[h7?Pp;Q?Yr?܎|?Lo:s? f?1x{?F*Z? ^?M>,f?C p?PJs?cq.hQE?XA/?Eٙ?t1H74?EUu?-w=?]XM?1z?bq?)[ݍd?F2=H?+H"?=)?v?!C+?/CY?Os/?Vٜ?P-8?g ?[_?Hpu,?C܀?!Tx?Yp?`H-Kc?"h?`:溻?-?@hdݫ??g*Т?NRl?$s7ۘ?x?/z!?FH?jT&?\D&~?oh״v?ZVJn?K-a?y?-V? i?|%/ԣ?^7Lo?Pe/??Yo?Gl*?Np??uu?M|?m0X/?񟌴|?Et?E|l?b_`?&vd(F `ptTJzSh0a#%'\4g3lxiOE 6VF~3f궿qbۺFҾgfkpK+^x TEGUKU` WjFoBt뤿z]6^ :BaGF԰~)fGn Ĕm^uL uڍȪ\jrƄyn)GhψE{׵A3dj#Par4O/yu:38倿VF3-.K3]0Bu"x\s倅GF&s/\aF5fsF%zm*{sYy}Iޖ#F3 -aㇿwjrMsBԄrDzj?75#(\A)j-aŅfpKZlm%rIu{ hyڗ8{Dj_{UhC@wV䶙kO"'cL?.}?`:~UXe ZlN`8Jd|LWhӂlo"(oFv7oԲkkʖXʡ`I0HG0?Qϓؽn?nQkz?fNk&RNBVZ H^b1 ` oa9TF?r]R8Q .)?P-%b?yX4t?1?ܲ܍C7|Fh'K'q`O+QϱA!Q;ӨLU.F>:T2?Y\X?yIyj? Zv?gM?5y֒8M%< s>iԻ=|X췟60RYqP6?3MɎbQ?!Qv)a?V!l?Q1oPu?(~?9*E*۵!V%3]"UxGh" ķI?!w.38?~NdJ?qJW?AKb?_|l?s?15c'z?rFў>-E?b2 ?l,R?9h)?TٕO7? iKD? eP?efY?ZpEb?#݁i?2Z q?FE2v? =y ?`v!?}@F%?5J -?p4?P44>?BMF?dԶP?BW?B5o=`??{aE??lM?-S?$ Z?ވOa?d@kf?FTTJk?/Q>l$?:FS&?(c))?Qn_7/?kU3?.qKH9?':A/A?"x9F?GX_!N?IS?vY?11 E_?U"c?o7\?~rLOi ?.ޥ"?p%?嫤Er+?61?Tj=6?ov 7usVġͲ$|?[ ks5}?9b "c]/A!>$NE=эs>f< ,?Z2K?}usX= L%pߜ%b #@F;#B+#&e+#JZd"mb:Z!> 4HbxCK,- _=!HcwE-bUk!%a>.>kfcxZ<S:&7N5bpwo ̸~K[p&6mu鹎 E)ܿ뽮yɗq"&Sٽ·ѽ_ZTǽu;a뵽gcv(]lCRܘk)jx-~f I{5ZV6:ܪ.OzQ.0 kT0%dM,>Tl5n&qwrMrKM. $@xrjJҳju[T]wd^zFZ:+fdQ{p7DwuޯրH@a! 򺫑~Kr~ϻ蟢=J# ]j|Ϻ:d Ҏ὿mLnV+uj¿Iib(ÿUÿg.ÿDĿ_5;Eÿf 1wÿjØ¿2c¿W8OOg <Ҽ3=T߽+kv?$x?$ϖz?ۭ'|?1N0?bo?~2L.ڀ?29ˀ?΀a? )H?E7}?_١z?,w?o?4t?!)wсp?ϞE;'i?`?Q? o> 1X 桽ܻ }\D l#+]eq#/""[Ov#1Z#88v#2|a4"`!VB 5%LS[/.StT5 *ۓ8D.d_S&=ٷ<">}B=  !K/ӕ"پWKd?c%E;^_]|xUsE̟=xi г xJUbw Quc&ŰGLĿΝ ÿU ÿ`6t 0ÿϽw¿2kp.Yl!?IiQȃ4|}Jy7._+VʘGgkCyĿGʿ-o}ѿWv տJќٿ@u޿ww2H$Ij濝[LGhw0 5foq\j WB_8Q=$<*ſU4EhɿqVVο淚pHҿw07Mտbvؿtۿ o$޿O"࿒<_L0Go00+ FPуf/5 [5DžyM3 Qv\[ݿBc׿.o{EϿU?9Ev?;??Znc?PTuX9?6~nB?VJ&C?+8%?; ?zG ?Amiݟ?f a6??ߡy;?V3?#df? C?˒6y?)U? ?z-?9?//!Z{e?F6?doDS???$b?:v(?O|eK2?i?:Bm?ب/U7?ן62s?˩3?T?vՖ ɿ_hؿҦldW俼Ac\濎ƂRK6?v3w0?葡V?-L?tW& ?b"Sƺ?=$?nv7?DY?2?o`ɠ?qr;?Z{zt?_z?uPAɪ?ם?[Pq?Z(}?+vGRg,t9uʁ8ٿSӐzп3HſoU_ b1^'`ɇv"f&2K-ȉ2(~A*"6xs=ֳ0pm=>k`t_:A4`Sͮ/.`vl:fSkppippMrk.yknUtŊ?(u8v#R?v]NPu|=t'd*rt˹n.{vi]3ewaE[\Qb%@>?F?ctU?8_?Kfd?_):i?zn?yߝq? ?s?&AJu?Q.$Nw?eǽy?]d{?6dR|?5TC~?I,DzB*25.?ۂg)JBS\Uh"˶8?ゥ]N=E9b >Uo >a@q:;Z2m_~`Ҿ& e+5&K:Yx˳;v~߭=+\> y>y J> >?2z>T_ D\=!D&=w#֡=NW=4;=M=g=r. F=9dnٸ=3o=bbM>A>*ʾ>+4?{??+b?k?P?hIqu?@ΔL T=:Pr%>٣q5i#I>>"ΰY>t.oݟ?pEOo&?FM^:?w'D@,!DlGJKpRH Z*1ͬDc@N.l,qtj!r~tɂn(5mwhp95d` ޿DeEbWw:1S⿀h+⿨'\Kx% эgԛ K㿜 sw⿩@,Oe23Vff ,῜#sA3c ῩWT@>nbῷ\܁Lk$ȀC῔p#P?00)J?;)=?hy?=J3^6?9$6?ٴ>?bnw?[kp?!f?Z] ,`?gh:W?"lZQ?NJ&M?1( f?x%P?To#^?WT?~6?J[/KK?BF?wR?KU?UF!ɔ? *???mS8?#?Ǻ^?W86?L)?~0?W|?hY?{9?>?}{x?9Sx~? ʎ¿I1Dwӿ#$B/ݿ-b\;@P??T?t"X?x&]?tk`?@gc?}Te?LGh? kR߲~j?s,gl?؞m?7n?{3cn?*On?*@l?Zi?3f?$jU`?ݱ`IU?Vݘǀ8?؅nF_QlUjZLr8)] y*b;OajdӂSG!*5 3l<<}}ٿ >ѿnk:ɿC,"빿3~2ݲ;:CK̮_UBVZI*sקUP&FMuuگ3SakY2LF<jP% Q}S0~ uY|6K.<+$p#k%ˢc`ƞFdC쿌-?1 V]Zb]gQ⿜hܿs9M_*տ+?ϿgȿZD¿*iL;lS8!< j22}ŠexcAK8UMDRěXl4cEC,&hb+r唿:*WxNtYcfC>TTaGlJjc0َ>@㍿?t9Ǐ{xN*ҍffesFI] r=39CJScC`crs/SPſ0Jui˿54wZҿx(ؿwNEtfXVwotT`Nu&gAf΃Bɑy8?.|ރRq'\"ȟb}ʣRr4鋿ըsns͢}J-zKgJo٠䑿f3z`:/Ӷ+ N˖#]V\%}bcWID3FJZ0)!/&9,WL|mߵڝ+. ,a#Rb?rGB,Q5agͥ˴l|׵7H҂EϛD8r΄ 8e͗f)p<@E & r,LFˑѐ61^[` 1|G~ȃA-s!N0SFK)ԫ%Žx#Ͻd:׽|`L὘$f:HGC^l;aqZN %$2T,Y=Oz۽щ^5v!m"ByL.ѾKS5rP"Kt g"j5-y,eCo*F=8=68f꽠'ViDd Z_z%}HVuS /7cx /.}P9DZo:L !v.wj|9=kxfZӵUFÌ:ֶ!zMHbǠXh@V0s15z[$>鱌Q>[L>n?r&>sz=1=Lvo=5"=v($5=b_?=s(T=orH=u36=ڶ{X=[u=_:y,4"d>A7>NȂ>I3*?c(R?1*@r?]ꐇ>pN7>U_U>켵[Z?ۖF?*ݥ1? h cC?q( y?jB)S(SCFZHOˠ!VqMQ_LnIg\QqiycWy\L=lrٟ5%ɧ6O䥿Y1 *dA¿QGüO%tS_!2YsyE_ bGWuf8+k8>qoV|qrkAmuDU vx{MqVK2.E7=seB_LQ\ a]&Fjm/ H5VsƒI i_ړ) 6ۏ\̪rRl[KԦ?"G=?e,?w@?c?ڊ?#Y?T?v?8&??V>ʋ?ieL?^?a[?#֐?Cp6C>?p%? =|>?ǘ(` ¿Y.DN-Bǿ*v'`̿+'pпrmӿֿTٿsQuܿr߿LUT࿞j6ῶt⿤%4%㿣IFab5`㿑i,~Iru T(fBMN+k~DΰXP?DdE.Z R \k῭A@] cK Cg|?[bڰ?&4d2?ת[@?kNW?jb)5?xɄ? YB|?#-s?dgXk?Lvc?#63[?{]T?Og4tO?sK?|!l?_o?ݞ3?BS?r?4?q}? ٩&?h(.n?yr{?]F%VP?M1?צF3?zo,A?ph ?Om?j?A0k䁗?P.X?KC?Q_T0?b?d?-CYv?d>PS9P̿πؿ6cxwῬ osh& 뿬8qTN?NR?,V?;Z? $Ow_?0)b?i_d?@g?ji?N;~k?]&"}t4m? in? n?cn?5Lm?EAwk?gz?.h?%c?SHI[?]PTL?:U"cuT"XdpG u}b<)|eu=dgT=d\ P60A+ZFc[U T1߿9O%qտԓbοEſ#Z~ɧHKXsW7(~ ꧿*[W0^t~nvAc06V!?V>7T<RQK`eμ(A]u9QevcRi'T uKt^ɭIz)\OtK&}`o) ^OqM"R/t&Oi8O :Оζ]ؿdA_ҿ:˿RĿrJ(u>EY!2訿t~YɤשEޡ`v(8Ξ7đe^lz4R̔8 iz8M(-V6D; xsZڒVh*@ hb!Y8hV6F,W`zfϜnj}I&-d;18͕c<{;w;C[`l bCO>_|M.GI̼d8$¿4YȿJϿQ~&տiܿ w% %vd1˨ɰɓwãGfD)Ddz㐿M2ޝVoOЎ"npQ _Q㌿ׯ6i ه[GN߿BG:ؿ!.^ӿ+}οyx.ȿ/O3ÿͧ2>MҸz6DSEd4Ԋ~#D<짿ڲ#b{Z &DͲꜿK@⛿urNj HBьo!؍NF^X0 jg^^q0F*::\[۔$ǐʌq cZ.*E-@A O2f]RכϳPCQw  #}F;u⭊GX{zy8,Bz=K)j!rSq"wӝ^ J@CHldN蜿$pK Օ` 'Uƚ 7棙;8m]!0+TN3gF敿dt D{ slR׈Jb`!B?.F,捿n댿ϡB£h틿p_˽b/vz*-X9nS+5ǹ{r۾RT1:4 Y>i6 37q%".-u󠄾s3о(S%PS|53ABN1U KqI]5*<)@>ؙU)v>5T6> v?"1k>?IARa?8ż'}?CԔ?>'4?k5Nv=k5%>G j>,\>#OXI>o$U>^Q.?)[3%?r8X8?ɡ*+'kscv -E4> GpQ\lsZ󵭷 dF2_nilp;v͜`ZJ9,ڱǒ.͈5'C&:42v#[-c>o;Gk)?Tg=? I?NN=VT?%zYn]?@AǢwd?x0k?P{q?A[u?-\z?TTN?Ƃ?Ô}?J=?jJJg?b?ѫy?&p?:cF?Jli?#k???I?E֘?gn{?a.X ?ޑ(?FTΘ?ӛ?gn{cu?C;.?M*?obk?Ik?P?ˡ".AX?qʅM?:l$?]m? v?,_*S ?qq?QͳH?,S?f+?}T?+DK?)}?t??EEl?V%d?N5\?C U?6Im=5P?k{CK?cU?? cE?0x=?B?B#W?(}bM?/?bn?{d}r?~?/%?,(+˾?ٚ[?$Ph;?VLA ?4P?rtэ ?e0lJ?™fI?9k?@?T?n?s?SŤ <⶿zM ՘rm?dSp?:q?ts? 3Qft?@equ?Uqhqv?u x? Ay?E2vz?ǯ{?ƠaW}?6EX~?hA$?`q?8s&?P?U?9A=??k?%9TT?2Vf?&'?n?Q O?Jb& ?ҕC?U򘼈??wD{?j]֓?W?`t?'|M$?Q5 ?^'??fN?0n4?ܥ?`@\̒?B ?V?@ ?흨?'1=߇?Tq?`?# aw?|vn?6]?UX̣?&]B?Zɞ?fJ?]Q?X(?|l?Xx?iƗ?’D?bNf?(*Y??w[?Tn?]ômm?ͧu ?T D?Y?U_?Xo?~aj,?OTxӧ?ޘ]N{?l̛?pʓ? 8F?BNkx?b4Xjc=p@o%۽54<uW0G4˾frv龺t&R!=KཞW1Z[nw(C_o [[E:$JTd~/}9GB"N>ˆf>aθ>Β >+/ )?rzP?v1p??o&>?E1j? v= `oF> 68>QwP>S-s>?<?ډe0?˸&:B?[%lQ)i@,i1<*7,9hB' VLLYyU%dTqI`4hWr>҄=| P" B9p0y10SD&˙C'#^Ƨ%h @bJ)?@Kz4?.LFdC?rmP?44X?`haa?\iѱg?g$Un?{ s?h ?_:RQ?tz<?B"?BQ.?TuL?:ڮ@?(D????wN?{μR+i?!?Yrϭ?3VS?%(8i?D(ޛ3-rFꫲ[.ݱ&v艮x!餿l+f~Ӝ?׮0զq?^(K?UI?  ?Oۏ?gJ'?ZH.?å*,?_Xf{(?*ᙓ?Q?GUT?8lK? ]P;?E[? 7?0v ?( 5?3/$?ooMa?b ?]"ƫ?/,;?X?Ts?J_f?"?  x? )%q?5#[h??`?3DmzX?)sRR?ŚDDM?HKRI?7?HUkL?S?Y?$x?ĸh۶?FS?PfCA?|=?uq,AP?? SZ?ӫ۝?1Poυu?6ɤgJmi( ޫC<?źަQL?_xjQ?3U?~D =Y?˔D]?22Wa?#rybc?-c?>_@?ԜB|??7y«?.J`?Xg?du?`l?X?&eet@hsc@?v^?`?ȻP*?+KY?X.2y?1^q?E6d? q5J??qWwT? @?%fH?@㔃? o?]c?XqX_?sO?y ?4ˀ?5۪?l ?q??.!A|?j(?#|9Ĝ?9O{h?``k"lWRaiO9}ammE,)8ByeImp;XQk<+=6Co‹AJ.MxSoc[jӆ dKJs mЍ^Iu;ڔ~C'7&&.PA>?ʲuIeSνEl[[A3)ARh[Q%mq.cȿ g94dgsvsPH"zK&eha~+hϦl>zm>.fTtV!y3sՒ߳uub֚YӚVW"9 sA_nsZ+y1W}潭/&z j]}5]Y䚾k$G`6¾(UnmU sYY1+23sѪάbZńAv86|.ĸ!sUifc!a٘>WV zO/UUE< ;71KR $KO%Z͘X얶츿"yQ<;Ŀ*3ʿ~`п)ckWӿ 8dֿn[ڿ͐_ݿIq`M)⿅0\Lƿe Ŀ yRں¿: s "?CI`{k?Wc+?? V? 669F(ɿoֿ1 ߿aTMז>>S[^S*M:@ԼjIi׏:迃~迵'sgOMb忲9$ţ`Zi߿|#9ۿ|׿p[Կ\nѿ3/̿"ƿ 2Y¿d,#缿sw*09$4e"8Q?w=ӇXr #A|RGƑC(@ElvHw"ImKWӯyK_ĭJi.MIt$;GF5A͖8?>ۄ?6 t?@DTT7x?Ǔ~Gy? +Yy?8Sx?s/Zj/w?t?dfԻr? yp?epuk?S_0g?Epxc? V`?WGWi[?xVW?Z}T?ҚR?)Z?RE?׳^?˦=TGK?_lT*ڀ?,5?PN}?P{?f@/x?z(t?Yp?$R*1i?uXύTa?GhpQ?`^A}?dm{?y?|Tw?bcu?HAs?~8p? |l?P>6g?*pCb?3Z? |+]YP?A޽R7?=\N0c4o(LZߡWV$`` d0up׿v]gHͿM"ÿwz5ʹSƱ"I$nʡu+c"סΒU7NًDs"| VpbxE8ysG1o4) 5Kkd©h}׋× ѿK/ȿ=-ȵFH$'lJ&0C'1Z̡Y贆Đ*ĉO E0 #EyOu-J roJDZB!o͖c3w>ib[orPqsavud&uvtzvucvRܰu7sF-.^q6*,)ٽsU؋:nhWzn"]xP >9_eϯU kO"0_ֵ҈eI&j־;OifHn˅"Ṳߦ] ^E#5Y@2ZQ8<.Z5lEEȘ~O~L;V7_`ZfU hqXQ}qH)ayE0m߀7 ɊRj{.mw3^n4'a>'0 my'n֨{~X] ne=1To )դYE']9KK#Q7z DP_Vq٭TQ|p$ЛV͊m58ϢIw勵pqOƨ }`N[oayݭV\ELk2zfRyi'sm0.A̽-+(f?VKk$na#zӧ~22r_&]g,Vb xB+r&ֽ\p}z_Ͽs^Cl*6C>[ӿ9֩GZٵD׿«'LUjiۿ;&QL߿#y}T}i?t5WqKz=lZҭ]IB mlt`B1) hb N|L벅c3=*:dq,fڃMw(IJIg^8e濯7Z;hgwu1俛iaeG'uiW&\[ÙLIi2߿颛/j=[{ݿXsu0jh/Zi\ۿ>i ^oڿCiڿ]mi=x0ۿւh}Ah g:pa&ʙxb?\?~0";zF9/DrrgWh(WzI4Fq4¿־;ȿ0hϿy/ԿUXWܿ`(3+Bϊr俬hY`i㿡}MruSrB=q@ÿOoBٿ>KWĿBĂ ο.wlſx_M",K.Z?ƿMd?MtƿAsJ ?7U%ǿxK^;b?ҝ%ǿI1?sƿ0P?مmƿoӮ?Xt]ſt_O?MiOĿZ?!F3Eÿ)J?LD¿(;?k{we} ?`!aB^'a+?]3P?p?Ja'?*? ?B|s4Q|} uq 7$bNxIÿ '[(8_NǿL%,]˿BO+0e,Gп,ט"3&ҿxl5dzbqտx7.ؿa]!29э-ڿO{Y:Aܿ"U:`V޿8:Fo㛈A8X5PYh?#͌^0}HǬ* %4u6??$]FͿ*}F?$;]PN?y%۵?dlvS?E3Sq?ڪW?ø+M?;[?z_n?06`?*.?En b?i?v:?x7?3%SI?^{B?T9?F?F(?~D1W?sO&K?R#ߜ?mK?JIao؊?2#h~?Zc?PE2vR^3+{'dOuSq-Qmi+ TsMA/<+XqK:6mS<$ev`5/fgYl( rpIVFra^1t5"v|v**&vv%v dt\mrwosġ^"`ch92%PCo-~  5ƾ]澎U)}_EDG }Oľm;,(Rur n0p`#dic&xrsZDG)dv$ÀB:5}:<ͷBxHP(iO[;S./Xr>)>]&7fa,/ebd|;gքjn$Ap̣?rD}s)}&ujv3Rwȥ,%zxE㶩>ycR`y^46z>nv-hz65OfzY{O2z ,\CZyB[ 3y]V328y㿼e῅MI޿Vֿ{ݣJȿfIXZ 3?iգ?*SB#?*0T?.",??Rl`? Li?SL/O?ra?2ac?-QߺD?P#=d?f?sEJ?ƼvQ?+t3?3e??5͉|n?x|Ao?K-j-̿;^qӿ2q׿)Nٿ;<ٿn0P2 vʻ;itg꙯nrDprm0[sjVG gOp d"R=:!M= 'sp՝=1ȥ=6=!=sؐO%=1=(=h=~=Ԛ =oO5+^|s о7"KeA287;UN+}sE;?F$Fp5/՗A%~RKcGZ =T']Nte[^$o\ ΃v[_PuG-JN%B=/N-|g)r5, >u >o >B0p( >!|>spl>]G>O>CK>x)Q>5ዘ!>k4=X5=s=s%i:ZR= p‰6=W E{1=yƈ=Zìvf UOP׆?3KB޾XP&=?Ǜ1byfƀuiO`Vҵt=fGJ|7Ctշ/okHحغA󺿘&~<n-AʝWfC&x̴ٛ[L}{ lKp D=ˌ,]=4=bZt=&<=U޾=Ci@䈭=Mi=d =5==Ad:9I~=³"r=R`=o8`f-zKY8mMۃσ]v0_=!X<Ҿli+aشuE?~5돿oCA2Y[}+Cs9Rj9ݫw bƺF-XGPOGDEiu:m Ux/69Ncp1}ZECZ|.Oy=Xa+$j{jrǒh{ӃAS`3B8Deʔ$(gS楿ܾ?c֯㗵g¿)٣vǿAdͿ8ѿHix տX[\ؿbT^R!ܿqm.Γ߿ zanxY%.㿲h]6"*保&ka6_a㿓-֏RF+ #^c a࿅iݿ/((ۿD/vٿ&sؿhؿ WIؿAqؿlVw0/N C%C@0HX> cֿ /~k޳{dS[٣K!HmĿH␅ʿJ~2k;Yѿ}j׿+RZyJ޿0޿.'߿/࿒|DA4⿟ 保Œ(FkJ)=%+tq+ā  '2+EY-jm-.CQ0$b`h_1y"=3῜Lυo޿ȖXٿ)cԿrпY{[ɿJÿҠ7eڱ(vNÿSc6ſe:ƿx]G6ȿWGɿ, ʿyʿn(ʿ߮oʿn ʿ*WKɿrWDȿƿGTarſ_Cÿݔwf|~m *XL/?o;[?0?7_?rUn ?X} ?,ǿҭ2Xտv21ݿlfῨUp 쮺pm濖ܸ濭Xy WEae=῭4࿊5,eܿG=ʣpMٿqPտ#rҿp#;Ͽɿ+;ſr]wd#{n7 hã Ԛ4'0W:-TfoXhv^zn 5 !dmxYZZyQ%FyZ9My' / bh4.ߨV2YZ6nF#;>[0?B[B#(`D7qG"RHO89J)17UZK/*0v$[KOKJiwUGY]<3D2c=l.{?Hn7?aKBH?WrXS?nZ?bya?r=e?Ucj?$5pWn?;q?&QX))s?Y?7?N*z?a ct?4$l~?BšS?E̶?bdC? k?C{¡?u:^3_?USf?^?^tt?*4>?5hL?t~ a?g0Q?H$rߙ?T? ?q޾bT?}sg?&ʶ?+Wf?8EQy5??S[(w?[%Ս y?mUy?[U%5hy?- x?s2³#v?+s?e*Qq?%fm? Ci?{jF7Be?a?{; ]?ڶtY?uU?TquS?,\&Q?dD:C?^O6h >;"i >>B >SYwD>y/>KS;e>>?C!=X =6.WF"=/"=44, =YQ"=g,RͽM:SyF?] C;GTUm})UھA3ܾe$ e=O$f=!Za~Ws<$a؇G&s~PDUM欿Pа-níMﺿ3-⺿^=H߹8}] ;츿TEGA2tv|$0'nN nL@㫿~BU =|}=(O?=,!={Rd=q3`=,E=Nx'R=_t=s'=GǘΆ=VC=r߂Jtw=m0,j=ȡP=.4=5E({@\`ij [itXԾ6ܝ _= B x| jos+`C53FyOܟPoY%;{¾+k)w ЇuྜN7Yͫ?HX%w}Y k]%أ;L7i Ձ|v&x Qp)'f\*]ujSsZJhL0@4gl&pF6 Q!ʣ;h0H|$STn]`Vlwe#v|oTA8)wvie{:) !هGI%DSWmox Y}M+o8fN3-(4zH 80qYn= CP5?,Qƿt;Ɗ}VTC̿KXAyX'ѿk+BEe@FտSiBJ-`gQٿ'W0OhsD"ݿV* "RHVR-UMr7`IwXRznSQ \(upԸ>ugM_N翻??any*m2޿_%Y\]6jBYܿH j9Eڿ/2i{. RڿfܣViJ6Wۿ!NhI@ Wܿ)5g p%,`:[ƷH/]Ÿ~d Sn[ۡՒrp9!zV 8¿ 'Xǿ5 ?οrvԿ+)ܿD197cBzϨȶ߿N޿ILx޿*R?8̮㿉5H:=_EAV)(2;2뿁WpKH VyqiθI￀јN")tdZBqqRzP.J8I㿼jV\ۿveֿZ&%ҿ 0OͿ Y3ƿ".澎&UY͛fu4Z俎V@F;j:^=&Ҷ=ſLKߏ*_8zɿ 9*/οze1ȥCѿ]{L4d& ԿO)k6 MqBֿcg8DEYٿ Ho9*Aۿ;:\޿a_:a#߿ļn9 X ࿏NW57:،kA\s3kժ࿶`U;,zʃ^uT58޿e4[>)¯ۿA(?Ҷfs׿}6w;8?o; ҿws>$C?SrƿzBgJ?tXoWaQ?s&1?Nz5U?z?GhkY?C YP?/i^?vA?n<a?e ~ɘ?6cb?MoT?^v\?v7#?&Fh$? ?pj?lݸ?2~?t?{w#ڤ?=G?F7Q*?Y Z?A=?d?6j?x | ?^5& ?ي?6 U?h?ar;?]e?F-g? ?<ر.?;[?U6?y?10lf?6~?+`ph?,~;lj?6z߄i?+d?d5i?rc6?>T:g?/|?au7f?_ۿ?M2c?hNh/?@a?d5R?? r]?jN??v6Y?L~A,?a1ϝB;U?Fp2=?QQ??aM?7?PwI?#Z?HrnF?Rg?dԀC?_gG?H3jA?hz~?c]]?I/RR߀?[Р?І?Z )?z~??>B*|?|x7Sy? iv?؏r?ivLm?>Zp4e?'VY?*'.A?h# ;?Ez!??*ܷ?i?Z? B?h?9/?:Z? M?,9F?S?-A?c2w?|╔?WZ&?}?| V?ĒDK {?*$'?*:Loy?JmD?ax?ocYU~?9Bhv? iv?==bs?Ǥ?xiq?Z͟T?#n??mi?_́?ed? Bw?$M/_?'?dT{U?AG62ۑ$F?H'ǿs/k<?~,}ԿtZ(A^Aۿvc"RKs. 7P[ҖLXrb#o#f΃ܿMS`}ѿ0ƿzrþ'7%ͭ̊u1BCȽ ^@p=hlKy[AE}w wrW*_o(Zk FiI{f>rCzD+k6ԕi#㝿9[.y&@WBGa60 E٣x/bĿPpʿ~Fѿb5ֿ!Lv enMbϿzjarcT9-8ſ1Tja^הi=.xɲ_0klay\X(65CXASbD'K~UyI`?f!ؗR%EZ*`9P9V@WiF \0ʊKcὋ"ZGVɚT]3Dqy=BT Lzi;L @/~7u"M/;=r\ڍa;|kӞzpص{:KwQ-S\pV@`N/U]s.>lm&B8&~yz@@SEE͟d"Ke6ߜQR҉U2oaZH _>IVbyerK%i.Mllov>wqGߐYsϓ ?y5u?L0? ^?EkS&?r2t?aQ?Q_?{M=1?? @?8?1?'s?+&b?/oP?oi?֝?֊?ZZD?8:N?bs^^q?*?S_+?oby^?edLE(#?/tV?m`? O?۝G/?#g5?)` (?5-㭇K2ſtI:ѿvmFk0ֿ''2ٿ%ڿD *dؿ]L?u Rۓԋssžqέ^@o @4lhFhEe>eԝbο1@`NrU[LjWgwT#Q@PGr9,Mu-RKeA#r*EýUޯͽiO* ֽp4AxʆشL񽊖M0( QXJp XGq)-~-jH8IU'I1ݶuI,ZE nI8#HjFD2a@Ea|GeCrjRA &%>Zyh97ۉ4S"lT/࿾%\o5㓤B=JSS^na }pIGo1=;}AVxzݽ]vLӽ.P#ʽ/ķSƳ6~eF0(;|R>@q\iP+e9mn&2v H|P3 !'Ȑqx5#OюX V2 Ea߿gJ޿ 9ST&tB}C濃N3m>[QR19gcw+ADMP<\ $$ݳKKD`?26pB {^࿆|,Hۿ :wFֿ ѿRY˿Y83^ſ# [2{BX7LuiҋMɎȂNALy:Qp5@PfɬIPi^!*5S(WH ==o0u?0 d=? ?Zu?a?;:gNǹ?נN?vg ?mXi?*PW\@?>T?o )?d??pd?صUs?{g?t?Uĺv?7Cn슱?6F?ڗ넆?؅L{??. mړߌ?AJ&b?W)v?AS[?<>GHh*s掽Qm[j{(vuo`g<4Vߵ fuе/M: -gſG7F˿ %E HmMȽ&k<+ҽ-ڽߧƵГ(u?f$9ʻj$qMcc8!<߼TC,:HzINXIBsIuT]ҩH#t GH+B5FVtKZDi8aB n7@QeGD;zT6g2bU?p*J ";;6co+>xLT!"L ֻ:%>L^ޯ'ކ꽍ލXl*ؽAwн ŽR`Iԕ>Jh1@kύŔRM.$WValc]ii&z+rr%z[%K?狿g2I:jE c<Z ,X :_*CEIq3 ῾'ـݿ8ؿM-IӿBUϿD{{ȿf@v¿7]Z Nkg 8^uHؿꐿLw݆"6')~"_m]t(@kKUĬb#gXBy.OwȢ?pX(I5M?TȪ?ϝ?*?4y?6Nt?lo??pT<~?k(dpvƎ J!#펻LO墿/҇SdCM쮿!iɁa"$j35۲Nÿ5#.DC2tIp 9\KЂAsi;)ID\TRfZXEcgI/m _u:6ooIA 9_w>SMڹ@g&(a|>= >;m?QC?h@g?h?`/9{? 04OϫZ?[S?1ֹn?y#$27? Uk?^7򗪺? :?{Z5D?/? O?[k9?y~?>?;?ZJf?71w;??ׇ^?Wg=v&>,"m>Ez>Vi>@At=>1Pe?"F,(?I࡛?Ʉ?,?pYћ?Is桁?9Hx?%!p?nK g?2bK_?1q::V?YO?omF?UUBA?vͿ \TӿiDٿVJG/>x(?j0[?`8?+ +?p\1?x^?>?Ñ? Q?1/3F?|8?P48O,?Y1?Z]?){)?<#~ӗ?Y ?PSt p5L2OCҿVɏ?J8?]y7)?@? !?31?CC??pbo?0 }?|\w ?7'ks?%b#H?l/ j?\y?`{?BZD8C?~dY??n):do?O+A?ʣGr ?[?5&?CGd?'wTR?FV?ШmZ?~;_?-b?K>Cd?t\-g?.ZXj?2}l?>啐n?-p?urAp?9bp?XCfp?C?o?u=Jl?xn<9h?XQb?eYX?EO@?ծv7D~^zcԭjPқ=߀swȩry>LʍrI܆i#࿷p`<׿'H)пS-ƿ08:{ XL>}X񨿼󲑢9 5fŕsmy;p-8koF~IG$`\  琿<*|u  Ҏ%M~+'O/c癿# @W땿sנz&Tfߞ.Dk|c>M?nSY˃14dq#5 )4!4߇ӜƉSaOg4uc(#4@y rNP 5†#Wd<:vsE=VS'>&;<Ǟ PbhN *&eǝKV//.࿼O }ٿ(RӿZ-|{ο]$bǿ:3|¿>ӽ[AӈL i|w pv9`fS᡿uxD˻Jw.Sڜptsտ' Lѿ̿8p˨]ǿP¿Rϑ"\_ݸؑIjjkФlWպ2[/r錄†1q^Y8Et EȸzL-1C 0ј5A y=:On6D VN?iw%/V1 &N`|@!hopq?wT.zxWtQAd(>pݔ5"GI,N\Rzt,yddDd>K"GȾh6rժ>0ytnz?:#zl/g$0lA?`,DR1d?h}o$?+KF>(Z? ;CP,%SgJ!y?["$!?ӺÊ?xމ?fׯ,Ƹ?M$@ pe?ȂV?x*?~??m ?v :T?td??vž?|h*?]Kv?S?(%?h? kN>sS=H>8%> >" Ǵk>Ϧ:?<#7>eE^?aJ>%r{???ȇ_]i?t]&? e?5,E?0⪚h?_9܎?y/a??O[H$CC}?K't?vn0k? 40c?@PvZ?)gR?8J?).LPC?_t>? HΉ!;?V$EZkC@MK<@Y~ϣQD5V"8ſxnjb\=/ɿy:ta;"fο z*eTѿ;Ui},6Կ'|m0ֿ$0HWqv ٿa$HFtө˓.ۿ=wPn-ݿH9Ԑhz|]RnHhhdi+JN࿆U3ZE>&ͪ Yp-.߿vگ+\@'N@d=߿C$F]A޿r}HUBH@޿pE"|!pݿΖ֗ۈ[ݿnڑuku\޿"_̗hʼ=6޿"d4>mA5\޿\[˓sJ޿x6|gȖBMxܫDqAx(\ۥ:K身`DZ1<]ѽ36νsÿڜmO~ɿq5пJR0Iֿ<ݿݸfDyѲj+&C/ZNM~ )?9@žt9?UC?C tX?Fs- ]K?P͆Qh΅?mBmc}?vNϤ|?wLT{O[?b7A?&#˾? akm#V<^?^ind?JVl%OH?D2JNg˦W?lմdMsy9S?DZɟM?5a*~>뿈BݧA2ٿ-ħƿNdg?xL??p?e;$?󁑯?Y?{#?#m\u?^?ȟ?Mfn?2/?o=?LHZ?'8?R47?m&?iê?+??zeP?|G %Q?Ɛm?\T?jnc?sKY?YdXdf?$ۣ]??e?oӊ>a?̆z?"2c?MqH#?D0 6Hf?@/?a((h?χ?C j?lq?Ol? 7q?Lrn?KB?.)|`o?ʾ?J, o?k?]n?_n5?Hm??m7vj?+\?" Þf?<{EA?G(wta?*bT?{) V?mb(?v5H:?R?E'FBg?L!w/_^~3?TtjTBS xsF"Na@Ay6=ѿ NlD0Vٿ5T ࿳w51w !NܿEXӿYÞ˿څ71ÿ?[m|8᳿#* ,<|ZaCFڟud a?S썞HarK"j$5H6fAEGߐ𿇼8~Wi ؿOR/{ӿ"lz! ܺϿ{!1 ^IɿN;Ǧ*E3Ŀ?Wx8Z eΉ{/:>O!d=ۑSfQWlI.=y9HJwwu L ~RطO(ŗE<} zvO>ˍ%;k w3 8ﰌ?NGt;=B|2nMtܦS\nSO#Ғc~^LE~Rb Jvظf I\V B+rțEнls \]PP `TgHY(70kVp ];3꽾U Kn#tAJFŽJuͼbiy,}੯D>)F>hn5n>tY ?\0,6?Y?9Yok"v?^%9/O?u/;Fx`8M+dQRX9+W" ]>15ObW/f>إj>^UovLrඡ'u~S܎8x$|{GO=~+ HpO*S+&82f- `')UO7FA ˛B(V{S5@rZ*}'g,ÓLOcsG翡oY;cPՋf[w6N25Na^͓4\ɍt]-hB=F<(zUlD{@)b-]gڔ jt@/T?_!X?S ?%gs?lLg?Ý?9}ނ?LEN?h?~893?<<> ?[o 7?sM?*0?_?C$?L=w?Қ膒?)3?EtU?hK??yuz?ro#wi_H$e\Ϳ^տ6ܿkz]tw@ܿPDiՆֿTѿT1˿b(g=ĿPI,3='Kų B?xK/I&-I`X}))O½fީpc7+^im^f0 M>iDk )^ rMHZ<^N߯xN˿񿜟lQ` Lz)j^%& /gK}q+|oy_7@ f&ExlXj_А^Clgy/{ðAqukq[ƇՌ1U[=0N=i_F9= $[ܚ=%x=u{=@=)-= vd@ =i*BX=rLP=Ee=ǘM,==Z='"#.Lm<Z\澈ҙIk@?vnu`DsCvy琿IoP6E`;"Bj;IW{rR`[cWPcGZ+^ḿ0nu/Ѵl(T9*qr'ˢAw>.1_ >Z=)=b9N=ٛ =V~#=}N==(f=3m;^=60x>=tx=8N =4)2`>=[j= F="aZ=7Gn%O,Klr>>N48?:1?ۜ c"]W?~?~?q ނ?;a? ЌI?y>S?Jt?m|N?KfIF|?iB˻?a?h,ym=[Ir^{ʐ۽8Wӽ> Dʽ.)½C3J5,|䨽D5*T薽X\8=x 9H>}Y:6>>u>34H|?hv3?1]Q2? k?(c ţ?l8?LcPO?-ʉ?`.O? +rx?Vp?++pfaNg? g6`?O]A_V?ڑՆP?uR'I?+^#]D?#=k@CZ ݌XGvNENuU^#T@fCBp)v6wi!zË X׉`4 ̆!j%lZY LZW賿ۚ[Ue4pFÿDǿw| ˿,UMϿU+ھѿ.\ӿNտ 3`׿T'ؿE֊>IٿbÇڿ Uۿf\ۿϮj4ۿCUۿq"+ۿ6ăڿ] cڿuqX3ڿX$ڿ4ڿe GXڿǫ/wڿ(pڿ$f\ڿNݔOݖg:[K\}W%ub o*X5Z9Ȁޘƹ`Ԓ~39jſ̿hbҿ6X8ٿǖ_{wAۗRrj/俔~_"DzHVm{&ӿtwHk0u߿%iY޿E[fܿNjܿ}0ۿ4iڿo/ٿxHؿ׿;_ֿT[Կ1TVӿ6#ѿ@׃Ͽ˭Q-˿zUȿE(kĿsֻgK7Bo5zY-qju`M?1s/f{?*lˊ?֑G`?Nob?%w e ?:!?Hp?VT?|?'%x???`U3?xW9X?OY%'W?|.B7D?}xR0޿%v4ҿMi?)S?j<(c?l?=r)?'pc?R9m ?NȌ`V??] ?\`?|Q!??QA0{?R7?֡?@'?E. 7'?PK?a}Oc? 0P3?os\^4?rCj ?uؒj?B gn?w)?ǝ9mqG?X-"?ksC"?[\?z؏?SbE?tbz?.w斴Vr?ٽ|i??Ta?-Y?80GS?09AP?^S?-]*X?cm\?9k`?Jٺ~c?3F+f? h?D9[Rk?l@qFm?6wpo?X]bp?b>p?sܞp?8p p?QyXm?kjj?:#e?2/n]_?߱}gP?ҝSGhY7T ehpTKv֙ʀ.}wD3聿n8SZ5y>ؿI9Mѿ&Wȿ.W')!xA8ahNMΩxtŝbN;uG U{晋=㿽 8ۿ?IckӿY2ʿ\֭Iÿٲ軿E mcY5U}XCXku7SMJ`#呿7#\0s3IMAE<)fR1O'0.)HAL5aTHP4Gg1̯͸IT1FH[f&cYlb{ |&Ԗ"n?͊m3Jɛpϧ(%LN8֎jCF ٌ AmXX |SQī返q>nܿQտ *Eпpzȿ¿0\ьa"P2+yӫ;x禿pgc5ĝVWW!46؆"y\C|EÀO|4q%D[ߞ{8rjd1+oBeCLAT`4+v3԰"䞿ƌL9hWk }3̯޿WX7׿}tҿ2_̿RAƿɗ1ݯr"0[!s)*o~d 0vKƩɣz[I{kv]qE̺ٗ`#//` \{b-4X0OVQ꧿3=1/b}*;^St즸ԐӴĿ+jʿʂH{ѿ=r}!׿cԞӿgп$ʠ0 ʿ5JĿ=6e q[q9NB퐲+(PUs<-SMuQљϚwܽ>P2DG9bh6XZnnw_-R?HIdeϋ5u9[&?ҋ0EN⦃_VfBCV`}tgq2c?z3$v~kYL "잿צ|J>U佽2$=;q/=M՝7=ݠzz=?2=I-~?=[NV=̣'==CQ=< m=B>-=f`b=S=g<=h='?@u=M >̈.>k#辣z*>JQtv.?IÊWAjT?ݖ`7;a`yt?4i;z VC?U\VRq??6]ehsZ??\fݷ?YA1_x?ܰq?JT?R?(/ \$?Vw3?PI^?@t=?ĵD ?;߻¥?'fn? kH?x&?(d|?4X+?WO < F.=\轵t U}ֽ./ϽjјEŽ$,M=_/G*dcWWpјR,ǕfѶNZ>xQu= Fس>zG>-2G>ߟF>i$Sq%?C2'>(8M?gхm>-n?r@9?kߢLJ?{^?$V?ag;1?N?x\ԧ?eK}g?jp??f ?rYe@6e?@'$:u}?*;fKt?[l?V6*jc?vj([?pXS?lؔL?| F?EʺC?MC\/!FBD@֣JE6RVY Ftbf6j8sPJ|!V0XJ[f_!F6#TO0AWM;Q k2DHc>.uIOXþ.p.H:Td?(ÿ\]ABtYA5{Lbǿ^_@(P˿{@cn ]oпӡs1gO?0ҿfƶFk cvտ1ҧ8p׿U2rjL$ڿA{u'n[$ܿ6rxQ{eݿf&| x!߿uX~)qT!7Q/`WPךDޗgnyUVUe]%tE> mXFC~ ࿜svZ>T}߿1e]hg޿Q Zy:ޥs޿bxmKnxvy޿yݪ]Ü(ݿ`WrBݿk2r= ޿f5fǬ&M޿UjIaL8e]޿d48 ޿^f1`1b߰pxi7仜ϔzކgå&zZ#WPĩĔ4Z sAÿ}ȿ%1Qmп[㣖տs_ݿ̚dI6俀1uG俼{F4SP㿞ʎ{V!&HP z*//J R޿_\a}ݿ2uܿۿڿ0Pڿk)ٿ6a-ؿ `׿'Z8տ*sc|(ԿfzҿE'%п݀VcǣͿ1wɿK$2ƿlad¿D+ݾ `\ʀʳ'Y.MPFIk~2]ܖ?)k6Z?;il"hX?Ra)T?FmMdI)T?1whG?Vg?O?m@ORSf1?UJa%fk?:-xO6{?& ^~d?"%{|!?I=v?qy rOg+?*f?!6!M?؃A7ekZ?<@F=XؿڧYȿz͔r0-?r?>Db?_-?" %?G ?,3?U?ͥF7&?6?d G? *P(*?0^1?\?bK~#?=(?x *8%?fR???֞UK?2=M*?䞭?[W1?'!e?l }ڲ?_?`6١?񞌍?_Ir?:U;? :,?μ v?n?kUe?ZH\^?UfV?\ڦQ?6/e. N?}Go?wGkR?}?[9V?5?j86Q[?$l?l'e`?UrM/?ll f~b?U?,0be?le }?U87g?=&F2?0Ii? Wq? Pl?"M?@ m?6 ??] $n?ȩ$(?}!"o?)I?&^o?L*?˟ڛ;u1 >lmk ʐ/BbJfɊnT8cN̠һFw14۝vs$7䟔+P`䕿9킘q. < M6taa" )֪H= 259µ6ѯ/4 0 ¿>bB;iǿיο@ԿI]ڿZ͵X!ֿ~KTѠѿ:QUpR̿on擿klƿ^KaDULD¿r-qʒE&o|r+A'BAuƋQnd>Bٗ!19"c&P ' \ď0ӫ57⎿b3 0v@ D/衿q!1|\ˊ69\ X9JU6 u-ZmԏM3[H^ojx%tГΏѭ=ds* $̓r\7`1y:s6 [!޽ 7ekjx|s RVxҾR!u"o^J$*WI&f-chܾc|N4Aܹ6T*T=nS+&{QPd}V>.ec>FS>6ߒ!?MH?Xk4h?/Ը?[P̙?gI_!ϡP)CDUc+rZIŒ`#'/߿QJʹe⿞4g߿=ٿ/ABԿ6mοBmǿdRd¿=K.ۘ~KqDVdw+ UL!-𛿰U@[ֆM?!ojs ͤt2A/wqGu5hZZκfR[ߗۜ+6rP{_"xr_:Tdh `M}'PC8GICJ蚲*̈́=ILJ-=Z&%f%m"KBaLBE6 IicdNYPVҭe0v&ܫQԽ՞pU۽،zT㽨>E )Rɖ`fZ۟_ǫ cNmÈM"S=+3tf3tC.(d=!ͅk]&DeaW,fg1ifs$?4|2o6E8^7P<90=9]0ݾ9Mk('=9*#8az6x% >4m]/{dוyE{>>V &5>R+->j$>Xo>Ƅb,>l0^x >ig>F)~=2=3W q=Yԇ1=5LzJL>Q oXuѷ@animrgTD]{P:AA4S.𐣿 e۞I1~$XөL1"ZTPӛЉ˥Ubx߷b*wKÿХ`bɿ7ttпV-ҽf~^׽͘5ї.;^"DMy7}5JIb o\ J{yZj'1,H& h#0*Ґ8bs[ңEʲ"ü)v=h$0$eK3hm5Ջ\71g8UT9)s9Qm98iav7ֺ*=5# E3#%.Ԋ\=l1^1B>@9>&81>pOv"9(>-޹ >)>F>kf>r=r9'=(7-=Tlm=}n )=&H[7dzN9!Tq]0*%4e.hMnOMۖv/lqTP(e{xjEUnЬڛ1`h-s6$NXU*mhٮj^俫2GAYdn;xyU26aܿmؿȂ)ܢտ~k2ҿU?|пAmq6ͿI<ʿ&DCtǿKsƿO2 lĿK ÿ&ĭJ珒Vo~꽿֖Щ (] Іȵ%@< $( \JY#s9?H?PEE?fp:QX?׹#͒?yG݉?Ś?&׳x?p?Eg?%Jf`?,X?Ao3S?/k V"2v׿oпNIsʟǿ&sJD!N?ӛ~׶( ؗԠݤ5i9Nnpגꔿ6 (\5pHټB=)ٿq+ӿ(6®̿?ſFvdzE+3b/g.8 C/qgJ(0/Ih59p*?l 핿5`> F?[_ZD?4hՀl>!Jn,>~0>Xﱇ> ?1-&?hj ?=U²/?V ?(62?QS3~? Y$UFu?S{}m? Syd?I\?T?ؒv{L?LD?6!??ǥw5k:?`?L)ࡿ?j{Dm/Oͧ&=b%i͟;7􌿯o#>Q?iĂǣ?*w? |?^;?[?LJ_? 4?)VK? 9?nS3?V4?yg?X-NM?EZu?7? H7$s?ѭ=?˷?$5)?YI?0:o?Q)?*OD?i k?ð:?P?-?%9[ļ?+.Fg? B2J?+e ?_P?xi?2%~=?ɋͼ?AZb? 5^?(u?q0?xQ?/ ?ֳ?)ʸ?ڋI? t7L?ձ-?pn?DgB?l+F?i??Ers?j`y Z?x&?d?h ~?]YZ^?L%I?f"?c "?gHOY?2yBz[?/E(?;?b+?5i?Km=?t?j?[r~IR??ہaf?/ި?2:?RA7?m^܆?Q?ER??أ)U?˂_lW?P?ުyT?)OX?_u>]?㯨!a?^dc?AD͟f?\i?O(l?FȔo?RRGq?O&4r?#t?|u?-]v?D+x?1h2y?U`z?I3{?0|?lFk 2~?Œӳ?]?uNYY?K a?_r?ʉvN?hƆ?N'=?N6Ǯ?{9`[L?"޵?' ?h7E?+p?Kǡ?\aD?J?Cms?5 Ҏ?߇l?ؗxY?(q?•bIb?5PVӑ?uA?zp%?$'5?OP?nlot?+$R?.?$6*'?p7~wR?bC?w9t?9w?3|n?> /q{?إ7Ay?Y2w?N ZAt?8O.r?\N0(p? 4 ym?r9+j?""g?E[pd?\"e zb?ο `?D{>^_? Dd]? UH?,~?Jw?nJ~?k\??A#?Ci3?GCo?6?Ҵ!?4 ? $ں?˲0|?|4(?zGAz~?G}?Rs}?MkH|?}%4f{?̇Ktz?M=?H'C?H?KY*L?,;t?ap~?@:h?]Q?&^}F?埐#?,?',?݋ y ?Xg;k?uQPk?IH?#M_?vf'uy??hR,S?Bl0?uL @?.Lp??8o2SXe\;gTe8D4Gp'ٗkxXL& ݁f .zJK|0>5U)LD{ٜvB~> ϫdIǾ7/G>"fD?袬ĺ*bA?3h϶K/?gd?zeЁ?᫞y"P#?(LRgxZҩ?*ۭrX?N T?.I ?g=6?&?I?׀/?m024?En? ?a~?6Xg?Lu?էO?Ut~= z>9v%>CK>2ERXk>(أj ?b >o >\h9?#N/>E\?_>€P x?U?KX?)%?喪&?(?pH?n ??{DXEw?/fڐy?i~Ƣq?gluh?/a?X/W?3P?1$=H?p&B?@g8]%mf)?Ne"R|=?ޱ) ("J??>ׁωT?F&?N/]?1?kآd?bya?~/~k?QJ>{?G8q?r:S?I!v?Ƅ]?wA {?!? -?A?š_M?f(?'t?A?k?a6 E?R?q9y8?h ڎ?b k?s&p@S.E>?ꮵ?TM`?5^r?uZ? #|/?U@{?8ٙ8?Fw?D?f?O?ȳq?KR?RI(D?sa?湢%H??}?Rǖ?cIj?T?vU?i?ñx?U;&?`,?"RA?r]b?L`s?%8?,j?T9HO?XĽ?\/S?Nj?pIW?Yy?]lD[?腹?Mr=zY`?Cn?כFV?W@p?YXqU?Uhn3q?94o?zNYs?VZܦ?K_t?9)?u?u76?n7o(w?P?:}Yx? 9?T?y? L_p?P=*z?֨PU?bj0|?p?hK u^}?tx(?eD~?z?=vG?\z.??:?{s2򋿠:%QL?vpQZ}?F΄?'90n~߭R=?k"?cfMj6ƽ?Ed'uJG?oM?L;[?a5E?002?3)l?~=?E?ĭe?6-8̐?/C?T?;AŇ?W?N~u?,S?9?X?-UNc?7?1,t?ز?&D~w? VG?HҘ???MB?u[Y?*?g)?RBC??y"?7ͩ?&?滮?vu?~_+??9I?Qr?VX?l;@S9?S'Byw?gthP؍?óΕn?`K |?>lH\z?{o%#x?-f@u?>\׵s?!Sq?No?A,n!k?0glh?(1e? vc?;'ĵa?,D5`?b^?5M]?m1y?̈́m?iE?1n?-?ʞɸn?ճ=?\g6no?P? ^:@٬Mao?Tr@S3o?Nn@Ѣ?o?ǒ@o?@-Ђo?h~t@BրMo? @Tqn?!# @ (n?5+@Dm?<{? \m???Υl?; ?k?94?;݈j?D%?(ӛj?[|ؿ?%`"P?Hp(p?g^c?(,6?9@(?hYҟZQ?Qbb?.5xL?=oM? HS?Kb?.ʋ&?L?VĘ?>$֐?li?-ɯi?@rbK?Eޢn,?Ê4?[=v'?dk-?/oT?ٽ*ۡ?t>}?M{?+xcku?s%,?w*k?e~N[?Í\?FN?]?Cᑶ_?%za?1yc?PGze?smSch?+(Pk?)t~n?l>Ap?d˪r?1 oɫht?Gv?r ݢw?|ͽeDFZ!:a'Nݻev ޾VQa mgU>xyxRUx93@HJ/I˭Y8Y/NLRT k_C>e >`B>-p ?j$Y5? ]9X?Jq't?jg،?X_) ovt)` &,>VT(?sW=?JU\J?yPU?oq^?]e?^%ll?"mKr?E @X6 @D @Slꓘ@S;@m!L?\B?oQǸ?Ӹ@C}?SH?yy??TWo?m瑠?P?t3oV?x6?]?'?8]=#?y[e?g ?w?b'D?R*, ?OԽ ?_??D?&_?Р\? \?'khGn?\?#GCfR?xi?QL?]?^R?KL?L?4N;?8b?^Xk?7K?/1ROH?X@(?M(P? oЖ??v;? sO?Rl?F7?r?\Z:?f?0s[Y@4u@Kx:@Ot]?"k'?L`?P?."J+?3?Vů?m4?'Ҙ?e☴?PICJ?$`($? 7?A#J6q?/% ?5 @I}?ܞFuː?*e?&eA?]yk?Z?ºS}?p`u?p$ݙKl?-d=Tkj=Ŗʙq=\*@# y=23G= FYo=d=^@=u_= 7=7/=qwg=8#9N[8pgF!%$"\<65[}|$s KzYC#;ڈ d(/ۊ"0y8i8pB N,K.pT_P Yg( _8qy[ zEm5krU'זΏf>h>=u>=K>JF >(D>ie4+!>2#> $>W%>fX\&>#>&>c_&>_C=%>!RI$>@">Z(-C!>”As|>#R=Aax>xt%>C?ij0?Lu`V?y.kv?ö?-A,#?Zjox?-"h?\]#?eW?ܭY?[XK?k~?.G?^Ը0e?P@??d[?[#Vk?,v?HG=?#~⪞?=?7?@r-?A=й?9ۧ=榽ϽvͽRcZĽ0KSM೽u~z u+v=tB%?Ps+2U?}B.TTx[L=p@G>2$gԈ>o?]>Fy)>EU?Xb?n (?サ ~1?s\I?z\Ϊ?#f?e? lK?}QO~?_! @u?и{@m?sv:d?W61\?.T?2 iG N?>F+G?[7_WC?U!x(ցw/}A6,|@$HR둰\a e WdǙp&E'Z*yMB^ +XnjOP*P]\$gW*aNY?):'ԦhȃGxȼEh !7Ι?e=Șf?Rb?&Aj?ܯ@1?E44m?N?ep ?d.m?xKA??:ʫ?DdF?6qi?<4?Z"rX?O?WwA? E?@Z?< |?W-d|?ryš?8';?RiK?Mc?hkM?%d?6N?jo?g ")?j("r);?N{~?ظn0?+P???t?FHv?V?,O2Q?5?5̌?C2?ޟB??u.?RO?Cq?XE?>?Ǒ %}?IzR:c?4?jμ?;ؼ?GE: ?[^?\&/pV`}7"I_l?5?JP??x*?T:8>?Hރ.g? \8?k?U)??e+cM0?G? a?̷V?O~ ?kC?YT9??}Ш?o$N*c?M$:"?%rq ?}g?-U?ǀ%, ?߹?x?I?t?m ?y4K?#?|[?~?{*?h3R#?=;Z?&Ř=N???ę+?Wn ?j?bh?Uy?h7ř?0?`J#?J:?[d/?ud?ګǡ?ytuq?4 -??vB tm?8v?Yo?-lf?N,_?Y urW?R?RT 5N?<;R?@Q V?it$Z?1_?m尜sb?r%6e?MMh?Lʝk?-n?fyۉp?i,Ur?!qs?ԍIt?,~#v?7dw?K٭x?gy?z?&2|?L}?fi~?OC?)?1[/?xU?zY,A?W??+EBu?@U?=YɋD?]12?/~4?(?Ti'?7 xF? Τ?c}?5g?>"?#I?*\š?o+?_-m?[?D" fQ?Ĭ䖿??H?x^ ?i?mA6]?;ʣw? "a?x]G?R|-?uδy{?Pk#?׏PY$?/$?nIj?eH?Z?\~lK?t:D?$?6'?G$?J:F?tOeP?>IT.?vs){?5s?a!,f?{.j?7h?WqnQof?old?t:Pb?65:Q`? %\?yjY?EJ9V?c=6q/T?U!R?lڊ†P? N?ÎCbGbM?JQ.i?jg#̝?la?F?^2Q?/+.P?ѓ+?A6?HH?|ڂ?lDl?uJ?bau?Ԩ?]?|F,H?);}?S6yy~?py?GUDv?.?;>%??yB?`H?M5?l?ԏ[?-/YE?{6~?tK*~?N;y}?aj|?3Bl{?eoYKz?(9y? (ls?FH?bN?tټ&1F35Qc֮Yef_cDg53mjQu4(E316؈:#&/HBm9CCp=;>?@C >N.1>n>؟Q >#;">I $>l)k%>xN&>8 &>⩧&>8+:&>Kp$>*Jjh#>S:[8!>N:/> `5>=7,>EYџZv>fuI>2`ٺ^5>*Bz 4,?&q_˧3<ھES?XgiYs ،s?A?Yr; T=;F"> WF>ԑ>rq>ji$?h">oL?zS>S̊zܩk?(p?m#0R?amkW?z?Q0?oD? @ ?O*M?: 2?1A?%sh?*-̃y?Z⢴q? âh?#⯡9a?:~UX?OQ?{"5J?11D?!R4stlB?-&?nBO+k/A24:.#:DNNaΎlQW[SaYiOj~jqtQCE/~kjL}"\@[6䲱5'ImVŧ\HmO&laO; {RX de7BRv:3c?]Jun Zs4?I'6D?p+@֟֏P?&-{MX?R~?q@a?du?D#Eg?cYg?mߖLo??*GsLs? 5}?7 x?-Ͽ%W?_:|}?Nn>W?a?N;?sq?+*?wh?+ld? _h?RC? a c?0 p{?`^%?++Ȑ?`H)t?/|?ג?0/,, ?st ?ZA?^1~?| ?g^@?z{q?bߧٖ?˞?p.0ۚy?R?- ^?l?r;Z?( ?8F/?̹L?3F?gVQަɳ?f6+-?P㳈 ?G?!F? VD?eO?#Ɗ?Jֱ?Fx?޽Su?`t90?8Sվ?(n.?;`?7?CP]?ƌ 5?֬a^b?H ?GTlZ?:B?+ ?}A?`a]?{?&?4 fst?ޗӻ?&G8Ҿ? \S?N׹t?c!?`og?gmy?^:Su$⇿P"i#N*`Y?Ju%?6z?nG ?3׌?ϻd?xw2@k(?V=@Av?'J?Hw?ϩGT?j׷x?zS ?U!&m!z?,^?2 \{?q#b? |?#[?qq~?|?lhv?c?bX?!ȨyupU?wS?7?'K-85X"?,ﲚ*? e?̑[t?e?0,??Hi?.?/ ?-ˁ?9?E7??A:\א? SQ?X>Z-?ҕ~g?%5?/?n쐈?& z?^t13^?:r?gN?=jY?0mp ٭? Knyt?D~ G?Y8آ?`*ݙ?Ld? MM?*O?İۯ܌?vk ?Odu?M _?1P?@I`+Ϸ?.c?"? im?"Ւ?_&A?;V(;??Zv%?}' ?t1?=#;/??0Vs?Y$T?ƕ?4T}?t4U?[ ?i(忪?E?iy?o?"I @e}o?ťd@/',Lo?^qN@:Ro?EM@(9o?"j@Nmno?oOn@j%o?d@ n?#@牆En?TC@*v"m?>:nk?y~7?yBj?crg?;"Ni?C??'?s@P?i?V&?tW&1y?ݥ*~?]^q?7@?Ed? 2 ?!ƋJ?K;'cK?-i:M?[̉O?@BnMQ??@5S?L#wU?I^X?.B6>fGL^>$l>!?7 ZG?9a ;f?Yr?(Gr?_q')sO(`*fG" /p' 6D?J!A[4?A6UVD? iP?%Y?ҽjHؽ\axG4k7:µ*?ѯX-NRvxHXHU/6Ic >(hV1"Y%&P>?xSw|Gk&D@>n"#$9w%e' ͏)wa*Α M+cAE+g2u *|Rc):@l(]O!&. z֑'1iK%<>@ 4>9G+>(}#>I˓]>Y48>7V9 >=V!F>!}=Y=xo|>=7(L=o0Qp7ZmkzA-tJPɸ5?Th3Wp^ gwdqm6G{-u|IgUXf_>?eڕ3?n?k ?$$T?|v.?Ȏ{}w? FL4?ZM?#+{?6CF?_ʒp?!ߏ?31?["f?!5? wރ?cd4?3p?qT?V ? CMQ}? ,?l넅?f??3}$?m<[{ץ?`e?vY*P?Td4C?|A?#5?_1?8^Ny?{ASq?~h? n3ݼa?q Z?QbT?V O @?t?r5M? ?z?`ۋ;?VVtIu(??{D??C?uABΒ?PuM4?=hλ?6Q+?K껹?-8;?AK?{n&3?"E_AT?s_%38>T0>/C-&>+>f>~"O>):Ӓ>U=hB=qӓ=*ݦM]w=#=䀺O]=Z`k,I)jw3GT<3/ E NKbP|ñYWc\^?؛ V?G=.5R?>4cG?ߙc1?tT14?i?3 ? W?{ )l?h([?vʟ?:s?V,U? ?+?Rs??ojm3?29 %W?J7?Vן?wߟ?[ƝWG?>UD?1 ?^?mL_?ܠgy6C=.k(QsbZ#NxX -D(j5+5n97>+sFm0]Pٵ}WApF$\a)Cf DIP%oY~H:cecBlU{t~A.兾jk|䏾X_=w{JoʨW_\A%m[/^q֕) EK|v秾l tYɞl%¾*}s~ʾ.Ӿ|< ܾɁkQ68ϔ% ƾG&"zоyr1ؾ;xڧ,<龨t P`,q8V8O68 函1 G>׾Bhd`*vL4ҫl>2BI֪2Ӫ"Mcy*+3'œg%}־8.ZRǮekp:UxĢ騁,={4Yh8o$G3XF5糿P"TӼu`"k0;¿#tdgH/>qx)4zK;A%r_fЋ+g_4d0N)u䝭ЕR9,¾78ƿեi?L<)u ۅNgBPWjSnˣbs뱿B¹TS[¿$3ʿerwn6䛇y2bS-?$wTV5P3 7L)Iˤ~{չc1-oGLWq̑&ſWf>xϿ3lUjrK~Sz↿Mjph$K]);^` θ-#|AXtɿقs7Kҿ7όuLpbvTtŶrdm ě3(.l@P񳿋!egSCĿp]ή̿E~Կ;?xM]T[*СśɁ0M sȯP/ЂΚl 9-ƿ[e3пqƛ*׿d<|j j" O'.ȡ^02TY̿Drɿ+W ѿ4Vٿ$yed,ԉrpM˛_z\x5x{uڭ8mY&R:X93eĿk$Y:̿ {IԿE%ܿxvc' pa*>N|3"^)_%}[0ſ6*οWYտ9DݿOUDò|(3fȘ}BSUB$;]%c:OXGmƿDkϿwտDiY޿ű ՃۑkP˰qxܩ;0˱Mg̲%ƿQ#OكϿ[.ٲտ^Օ޿`FgW֒¶ަ1unyB#㪿obH\}1S΃8D%ǿ-sƄϿ3~[տ"mjݿn:FaԍWmVƜF*8{_47\1Ͳgi>7QI"wyVǿmQnP Ͽ%B%տ|RPcܿ yewwt`Rph²t@bq&+@"Pƿrdjοv<>FԿ тۿ18|Ke8h]S씿l1[{X( Ԙ}E)+Dv?>"=[ƿ~*z{Ϳ7 fӿn@yٿ7CNJ@N&PtqϞ :J 4z ^[%<L'O_MſB$m̿Ť4Uwҿc6{׿]l-$-9ߢ%J" *\d\t? ?"XdL}+ſxh?3[˿2}ѿy`ֿݕ7,M0?PL9N%9~Iٞ4;p3ArLBl^x$rܽÿ븶Uhɿk#Xпf40.ԿV)_cB}cMB%mbظvdƵ{/M~j-w{<ÿnȿ |C!Ͽӿw;2蔿On_ȝc7T\C[mǬ)uQu_sE¿e@ǿdƼk-οL'I,ӿJg뉿BI\ 윿T{{F܀ͩ=Y*g~ {;ƿqKͿ:ҿ.!ú࿳x޿:޿v]$q'Kp?/|b^jvB%/9 [i>mmK27\Gᅬ*y뿥3c翙Py@L3hZmۿS7O:Eֿܞ$߁ѿjnʿ w^ٿb&ؿ7NKHٿ,w'$޿"od⿗swRN뿜Z ĉA Xa%|vn^rIe3 8<—memݨlnvPփ\zsf7mNf[)Y忕=͗ CݿȅC ؿ-ҿYNXI9ͿQA7aҿ!5ѿxMԿW[_ڿPy{`R'[B٧n;1k𿏗b2ZjZ˻ =3 2~: +d4~}6z mS.y;!￘Lui} 翴 G߿2͍R~ٿ Կ^:0 Ͽ U¿f zĿX.^ͿH]Oֿtw࿳^RQ)*%ǎD ;^'Ga>췞 _5ska6"Y5E0ՀgCwp>^3O9py# /y翉9C俫l>~aڿ“r տb(QпFb?/!E>DC8ہп(ܿ\d8뿌]$7ߟ- ] 1_ _; u Kj$yD2뮩t"򿘧k𿅥a쿴/+ˋtfj;࿴D>"eۿ/ տe'пZ?9 ,R? Buta?խ<-ƿ)i=OؿSݻF fpb?%)Xr& h4MW=Waq2.|i>QDsL5mj?$*Ê0ׯo@ϻ lD nHD|2mĄ}ۿֿ7:ѿ$fH?=?6_?El]ӿ턌ῖ/^9i}CE"k#t'm?Ǻ G`Ӽ^x'dq^B|C%r z.rWJO迄%< 'Jۿ g!@ֿ $aѿs J>?ܭr?uJ?/75?ݛuοK4߿D\{4x (ǫsTx|"EO#`iu0ʅAml?ʣ ;c迯(mٽc'ۿ*_7"ֿ8ЉTѿEЙx?i} ?e{I}?iS.?ψſ@^ܿ­1[+WJkZh Na RjD~> -5IT4L yS4$򿣗s*rL0@|"b1m B곹fR|p9ۿgտoѿUSN*?^ B?*?9/gp}p?leģgWOٿ[A6d{>intT~QMw:w< G؏!2Lh,-z2\bN4 SlB,pehbjе|T=3S"翐_ 01ZDxgڿ)QɁ'տ@voп;c?r?(N{?-B?2J4,D`ֿ)GCNKbV!t\/U6Qfc!d%x[L'n|JVXQK^KU[]k 6鿶09> ޿>Mٿ6PԿѦп}H&?uIWy%?wU>?oR N?]s`:ӿc(mO_❈fzhs D+i0=qUWfn@ IcE瘂;񿾾cC$/:&%;b5. 2俤Oj5Bݿewi1׿֪Cӿtvο&a:?U -e?$f?څS?U2d?q8ѿ]~u(Gm[ґZ$y1c 9 >IA=A}O/i+㴄+xʘFѪ@PaU|Kt5fl鿠wq.P㿎D4[t ՒDBۿXֿwX_gҿKbٷ׏̿K'S}?xO?d[? Z?V?ܫ'п{+-߿~n>@G뿋;[A]ᅣ_B#0۶~}qSf`\gMc!bs!:,n^꿖qgσa7ރῄQݿeٿPԿ!\ٗпYRq^ʿVcf?.v&h?P?l*'0?^.?8]zͿ+Nܿcȱ*俯]%k2Eu=7qC ÑO|u𿛰{e<3cuR/cz쿚i+;+S{ 忁hwk*)y߿ XMڿ%|mֿrSҿnο`>ǿ iEQ-OΕBBm^3Eا(h'!d nɕk2n[}jzrsq?Ed=GgZqn'V^9(SSvtNjF X𧥎2ڕ{軣3>^E)鑿d ӾSX/gbu-D?9lV.'[b"%Wu KLE*P]Fzn7ŧ=UwTyZ- YՌa=4 اyy p^eE}[CAhP0c& /kO贿e2M3jU5Es쩴Kϭܪ7W>~tBsy}UiC `)_RO¿#viIx-AԠ fē.gE;E#[+4]Jv-EG_mPacbfu&dZUBPĿ8ض0A`#gVǽO=0Vb`B񍿢٧򨹃0Qy9rpNkdW{ǿԇ,w=6"vhzeob,4ƐS p|5]]r^fqb[ZʿE.E S\O믿i75ZϏHxv>ruc!^՘A /Qs54ȬhL]\^6& VͿw!ÿ;} Wq- flIa퓿M뉿fj+un jM] BIϿ =ſDBO9em61,j\c;{,kעu~jwo~o^[Ճпw)ƿbཿGԩ 0eӠ[3ĕLX鋿cnKNv@=jwX^ꮭѿ.2xǿ dU$&GdjST3J9^啿3ˋКfjlpuM ȕi@v\] }"ҿU$ǿtIN;X^hk%gNAƯ֠TVlxwJs# gIgzܻkY 6^#ҿxǿӅԾOѓݳ40l^mzɘ߈"@'U`}c8Uq+bc>ٽTɾs)ѿ|#ƿƴOa;MLØ}A!~jӸҷMY{{Jjxcb|@kϖ\c. ZL0pпW` &9ſwC׺0F1QRt]VM?idVwqiiaɲ:j!O rk7KXn~Ϳsaڸ¿9ŋDn=w73p:k_ 㒿յ")w]%et5Gлpa}YDqjF-?P1? 6ɿh\Gސ,muߤ{RՖE >estU)ڟNe>?՞_S?a%'T?oAj{P?LdjYm7ÿG;)GALSa*x?Tƣeßu[T?4th? jl?i/j?Zie?T/=h^?x|鞯ieɶWd>_lU;>Bbp?5}?wy#À?k?ud*(|?dA;v?gCq?f8Gf?_#_ݙ3PB]a?d2A?Xi_ғ?'D?#䪒?΄4?TȄ?a$ ?Qf ͪ?55&x?&,KVo?F?} %T%??Y6y?v8O \آ?%M ?QD? qG?X ?}(?ԅk?9Qt?dBR?i?MEڶ?l[?%? (f?Ȗ?Put?Ƅ?zݧҤ?Z("8'??5η?ͯ\/?2cQ4}?mj?>)?G/?A :?L?tp_а?8M4?Օ͔l?> ?r?c/<Ҋ?Ӏ?dMy~?NQ?]Vy?hjNX?=?XT?F#@?k?#Fݠ??' @?۶oݩ?Cѥ?3KK?*?NI?a ՟?:O)?i?& e?Z$u9?Dj{?"r{?N?fW^?P"I?6Ο?ns? N?/?L{?R?k8?A*V?ѱ3Ww?4?Y?쨲+?PX-t?[5?j?g$?W??U?:{Ƀ?Ţz}?zKs?u?ɓ+9?+$xz?ӽQ?1Anב?^r&!?w^Sƃ?B-6=?u?B+g?|4x?yN[p?}Ǖ?g۽or? F ?+:T?NV{?!#M/ %?*_rP?cS@? h.?9 1g{?bt?70Qk?z uY?h%(~??0Y?&}?a˚?yui?3sK?_gθ|?- ;w?"ʤq?Ś-g?__?e{?\?!ަ?uveL??ȥ?g÷j?M9[G?w?7[.~?j%^?^$?!7l%?CA??*GT?}?֟T?)?` ٝ?E?w2L9?D'^߈?𦱃?я59?FZ{ |?KAm?x?>I?>?/&u|?H$L?m6?̢?ؚ?@2?5[]?d>K?e8?-=}?\y?ʜ1w?Vȱ!?ZȪP?mfV݁?Bg?ttF?z^?bD-Ł?\2?/ŶݰV?`v?K)Z/?O9 %?& z?AȊjw?C쬉,?e?@v^. ?XhH? fX ?\A_?*TL?[2?殕I?#?䟥?=Jrp?Q}Kq|?w? RVt?G?X3?&.?!һ?T ?S ?Wtx?Si>?tMi֐?J!?:'q?u~?Lʵqx?@\-t?Vr?'*U_?/G4?vJyr?g?eKy?Tܢ?O??C?K ?#} ?]Ѹx?85@Wt?G_q?l(n?37?c!?Wa?%fd1??ilY?YYl?snK?a٘̃?itL~?y.w?jxjTs?Ի .p?'gUl?%Oi?*=2?r,Z?O͌1?99W?F)I??9^v$?QTRz?%t?Jzp?6}k?@q"h?׬!nTe?8_c?\?1ý?Я4ԕ?M̚?Vx \:?+Zy?Mws?sho?ӼDj?Ojf?N~Kc?`*[a?f@Qj&}_?7$|/]?zJ'][?{$ u\}`(X's".$~)ss1ǡXenSmr5On,?|8/A?2c H?FiGML?Qs{N?f(O?\;s.P? ¿\ EN-&%^md՛#nKQA C!kg{vgFes| mF[%eF{`q2[oŸϿUepÿa#bMȗ=2[Uc5O v\aM~J|f[[x8lGrҳI l7-;fMfXÈybbhοcrÿ֢izO广V~]?+߉%1#G-b[t|jہ8UQS|u3pmsEk gXڄڰ3p&2zF$ix;U@t dvǮ)z#:!{t!Xc.ſ?X 5m[9(zMOi#î4BNѦ2X MTXV/+BԻh@{p0 t^5=8mcߗ~d9|Z[w䶢̦Gdd3{,:a겿*^TI㷿`k~"oV=Wo g> jՔcu ~LL 8 /^+maKfvMظݖxQԱvh1zA[o;!s틿l)QÆ w狢cR\-BLf󳪿POwc|ΔםN<w+Î 璿3a7L+" Χ⠿lMs.^ځ?Saxn(tAv~5! 0#[- ӏsҤ|ΒvV Wjt}Cr,sR%jlc:Y‹nEtCWq:)zU𸏁K+b#-1/8wqˑU7ΓoBCʮ˖CI'n>#FmbsK7[v>8I}W*O^!0YM牿f+8ˌLB)@JIZ摿Z?|ibjgsWq{(gyk]&‚sC8K䒏Ӌ"]3͌ ڋ.ei ip} uf-zt@ 4}mwf'o\zu|wn)A~ñ*l2d9"~y|Uk@^<;3%gf9Tm$>֞qYtsAw;y|((zՔuON{=<7{=2Fz.Knx9uԴ[-^dMvQjaB`p<qr-`#u`E>~vRNޓwvwxD;?xDwލ}uZgaxGo H:24l >%۲ ( B݉1|ò͋9k8FPB<KةOSG\c1-e(<(PPJ62sT>9ϔ_tZRVgPE7qPB\x`Uus%F^mp1?Zl } Bv~xxD~H* 62̀[款Ζñ٭nTƾ麺Bо$z׾Oii~GHE:_ר|QLF:ZIa˾x1Ӿ֚=ݾUIN,K[PMBl~n}lʒ  ѾXS"߾J!2 V%~WzVJD HvwxCE ~&2 c0nc7h{fAzLfm ~_q Fcdд*A A:Na_; U(ZV)$- k/q!7l%*@>G\HYQjBYLbcR Hk.=s%|ߢDiBșk,\u✮GQ[W#&|YtjWjdWbU_PRSZsTt#|vg%TytW{RI7}5 [~UW#:J': YK!B9ȸ~G}|I$*M.z@ֈXxKNu u[}'.sJ}]xZ~)b^^e*euc}{},aEM8 rљi4N[ 5KڜtIYH꘿+<7Z&,Kh;(H 05 D=b-Ee \+\1IS]~ݨyIx~8A977f>0a&?%KNcVV2 R1g񽡉ÂPv4棾(4| b mE"8{xBwSol8o0 7eiT]8\/`IRVFI_!8U<R˵྅Lh־ξ[ž>^p LFgᕗ]atĎUMKNtUUuwt7m.J"BA5?b^Y7 h:jھaFѾhǾpپ;q\a$^HѤ@V9 6b7>/QXtC%?e@>\ރ0 q@7:%)`eFDPs'پ3̾ a+r;UWO-ěEMFc7[=NF03ͽ*0"ˆj%G|9 Wxi0&16ٕe쾜CP{rBvܣi?Oka rfW|1PCE0](.=o3B )"Y {f<&ƝQz #E@SLr^V_sgO|J*q# xk* x\Ò(RIr#"JA+f}@tuᩭo&MEYZ fd go&3v¸Õlڪմ-g[gNGMҡ.p2/RȩڬY;7B?R-awbjUItY}&a8JA'm5fp榿A  WjZȜ)Xee:H"q~7y,t?eMފ8SB~3ʛ13Ь˴* ſ8 i=^ PBk" Adu><̵x'W Ꝫ%0rLw8/ı(Ccq&{¿&P3zʿ#GbO=XpY;zOL{Q5GSŞT{!pfg"+cݤ.? ꭿz0羿e%OFƿ;YՅп/xf5tg/nq=(VDB|eqAۨmDZzSK¿+RʿFҿowS jCӀx(X ;քR y}io{*[o ?ſο;4տCLoE|4%&\݅ŋ^ `S,z;vm5AͪAʷk;jmIW:ȿU@Yѿ!Vsfgؿ¢w rո{*e/ =Q6{_Bcy>;ܢc*鲿κK7L ÿI4i˿$`]ӿ'%{%źۿoFt ZIuqeޔ;)ݝϰ}%tUԭNf,x%li Xſ( Ϳн7տqG޿x wEhfyubʏu&;y,Zfגr~?DŖ.SƿпJ ?.ֿ,/8ʇƆy$qANsT|xBrne}űJ Ҹ>f8Z38Rȿnѿwؿa]u ῵9q{JOЈH,1c眎P'[%G8K^ܗKS¿՛9Lɿygѿhؿ&zS&F*7~"cȊ: nA~AyڤCxcQֆF\w;ÿbcʿwZMҿ'?,*--'m.PՕ!%}ni% #o4ofI\)BشRZL^ÿIʿ0}ҿ 澂ٿPH5`|B0$5gA#3G*!4wۨ1즿ůWxu4\1 fHÿ"B˿׉3gҿg@#ٿJ8&^3;w+ZljDwVګ_,%W޵yW ʃn`ÿrˁsʿ/"ıҿ iؿ+BL~нh'@c3k ǘ_2:=%ڽlR\iGDA޾ÿ[RMWʿJPѿd1"h׿Bg6߿R}<7Z>ڐfae󡿖G0ŘEt򒰿Y!sJdʃ̞sÿa +!ɿkC})п.B<ֿ7+ݿe2`631JL әK.2ɨ4|1$V=4 C3Vh ÿ=+ȿB5пl!տkۿ9'he.g dDj8Wy H׻ϨzݷR,͵reW׾ㅖ¿b[79ȿϿLUӿ>IRa+ٿSFn%f}@5b!nAu'fj]rx!F󻿙{ 1^¿:;FǿuͿ~ VGҿ1z[׿_vfA+@q VM/^`؊Q V. 4[B=zΏ@ƿNע̿AcҿRCuֿ6ry[惿sEV⽪ʿӡZ!짿6Fo};[o }OmԠvVM'Q QſHb' ˿+8zѿt !տ|ԕZ(>x(slDHũNjF WKnӳ󷵉`v`g܁ĿA;ʿ ѿtտK [Պzuwĵɝ堿D Ά\ rGEO.4.qEB/L8'?Ŀoɿd<п.4ueտŜ]zc߿ '޿z^O߿4TYQll2꿱b26y{WM;p/LѸ{O󿸼͇4ZߑE}QƤ+*i".92 !` 俦S࿅>zۿ 1ֿǁѿ_˿UJ"ſn6zl=K3<6Iݿņ_tܿKt "_޿/ALῌhZ+zV 6> 쿰I)񿭍\RFgpv2̓9iG!:'gOKub󿉄?.%d$aG5\ݧaºZq K⿳͢d޿4ؿ)<ӿ#uοG'rǿlUۿԞ}ؿn0^ؿէۿ#dC5.`ԧ&Ko fjP'-8&; ֪s64}lc#y:&[H'eQ=̌+in4=]?mв翮FcƓGڿ9UIdտPп)l{jvɿ|CQӿѿ-Pa/ӿLJ׿^ܹ޿9?Ɓ迤?B~,i;OM.pF <@Xb'K͑[|R: "M(4/8"> GMAyzֿܿ+1"ѿڗj(˿>(*-qĿ¿-ȿ!o5ҿBD޿ڿ.<7쁳迍^_(&e(K3naJK+kQ_keݿ=֡I; 0|I*?念)fXƠ濈Dd6p-@dRڴ0qwB?WfoeBj]r`~AZYkW4> PkVf߿ؿ?Aӿ 0ο?y&F,m?D?a^Gn?-nȿĊRۿ 逑>? W;Xw Nyޫdxǡ6Vo,AJݙ)"񿧤g'ґ\=;~mHvP߿v9hٿԓC˶ӿ;8!~ο* D?~:z ??^)4?U-_û񲗙ޝ׿|-J!t`^hz< |G_fORh%쪛»G 9[Hj|(VL>q{^]{kAo㢸Pd7V=ȔN؛޿}@ؿ@ͥșӿ%|qο3?j8؇&!?dO? h?֟Oӿ-4⿝2Q#7$ͽG/1<@(:%]q1 đ 6$n5S秦! rZ.d s=W )B|q44鿔: *joj_mw>޿@D٠eؿy5mSӿ F ο*_zs?MB?r>?w8? ߢ?ìZBп!ĪI`Ὼ*>A+"ٰܪ1J$Z {xE{-eŇ2}S)\O0(md ks։XK+t<:B.*TNݿkҠݳ׿dҿ%XQͿ0?7-?M4?0zb?0x?qĚtʿy<&߿L8#-s _L@N 2)4Ť0 צ\)4)dvHnh 4翡USK5-.?ܿ(#ֿuϵ.ҿj?]D̿C$0?u 0?jP'??Xa?j'?ϧYſ;o{ܿh vΐtT3%񿾵8H`2ctK<m-$pY4OO$vKExj-<iMj[c(j7鿀Vhw&T̗(ko)࿔}hڿk jտ÷"+ѿ{~ʿ /Q@?fS?}57?]i?X:v?}¿rtڿj[俌c6꿻 ^BGC9@"Cf4BjrP_0+Ľaa((۵phG:a 8ai,Li!ݿK Eqoؿ\;ԿC[%п]Cɿux٫?&50?<֨!?xm?6)"?RѺyȓ׿*DmN&x {'@F򿏰Xg'0 kR4Or\c_YJD۩4D]{㿑>esM]Ks[mۿW#ֿHxҿDͿxD[ǿd[?>U ?fF2?Vq?s?q1[ տU L U[nN2꿉>Vɗ￈쾝xӒ6ߏC|H73rڴ&[^ԼiHY.E2N3S"w,Qݿ.3ؿʉTzԿJmпURʿ]₢*6ſ5% ?;4"?f/?kzhE?(?? 滿§onӿ ds$߿ -g+[Aup^ 2{]]A.30rͧ5lU޺Wop$.ѠP>㿖kT-Hg "޿1ٿJ(տI]sҿ5Ϳ)d ǿ@q!¿='eT,H౉`ZՌ]ތl<.zzY vq:g3&^l3SJW}d7H轞!:q-[ϫm 1䝣J6#Oma㑿M{p (&7wu긗l=-{bYV ]>X!$WM)@:7.C/y,52464~Oؕ/K[sD1j.r.kZ(tlaL" MU&_/F`\¿ L%[pcs,&Q7".T9є<2Q|ʋʬKIv `xo[dy1XbPSJr ƿҲ?8QȽa4CaRrQ6P(F(,(_O ^#|@/Rr^gcn\l~sN%nsɿAԕ,&h$ HNƤI#[fgL-RԹt8%ukt9Vjцc_zPQUcR̿C6\FÿǷ B7)?Ïsr#81a|]c4cQɁ[ 2v4%e"m@ JaNRG(9пſx"sQŦ^ֿr ]Ϳ~%ÿ6Ƹۘɯ950[X)P^ v Jv^%mÿa3LNb\9ʖoA= "Oq'fI0ƷEN?p/U?ns7S?)XBI?Gɿ6c\F ?mt`MWDewkB^7!)$2b?Jtok?Pnv+l?n7h?D @@wb?[W?#dieHаwyZջv@@O?[x?<p?B}L@?U?rrhF?Os?̐jmv?%y?q:? 5F?[AM?`ep?Զ?Bu'r?XN#N?-~?+ #W?f?jL??üj?,?iQۚ?.?J?32T?Fwu?|T??H?;d?"?umt"?I?Xdo?r.ʜ?s?d`E?=睅?FbI@x?s|?%p.Z?%1?'Lp?[ȑddϽ?GO;}I?R ڡ?^3?8tĨ?Q,U?%Ø?j(v?y!$?6@ϰ?pku?p &? q?(!ؚ?yfԓ?询7?by?0Vһe?$P{?^30^?, ?s?bVf? ?8Kq?([3?5>h"?(D?d-?:Ӱ |?n$-.?1?uY?Gl?}?# ??ݲU?+ ?dK;И?PF퓓?=? G$?_Bx?5 ??w"F4L?bAi?A-l0?'v?ATK?>/*?gٽ?=Um?_lP[?f?:xV?T1?l~W?o3@?~}x?PW@m? _[?C#i?eU?_x? mq?`?5k?cr͒?k?bFD#v?Ui1|?-~vt?qKh?-o?1?$7T}b?m?R?j[q?]`È?eGբ΅?\ݧ?cG~?Sx?..5q?Նcd?N9?KZ?.-S?؜@?ќpJ?"!?`?8?3x`?wwz? it?~Og?,g [?}fdl?"c?WK>:?Fv-n?ЩUk?Q)?NlM?/4J? r@B?as2?!<:d?'T?q=ه?6A=%,??ga{?0Ƀ|? f?#% ?ZS?:[?LF?󹧴,? u?t($?_l7ᠡ?̩g?1f?(C,8M?.?3Ɓ?e)"}?N&z?e.?mP?͉q-?&@?Wo-?Ix ?[H =?7N#o?QX?g`5?>Y?@Yl?(E?*|LC?OH;{?Px?#I[X?Ьr?9?XP_??M.7?"_/x?/P? ڛ?hjQv/?n %?i7H܆?!(?w>L}?z x?MJv?7rk?r?^ni?{`U?3*J? z?k:96?NGWƠ?ʅח?l]?xG?"5?;>?@y?/Pl/ +v?~s?o4?Y?0Q?6 ?1H?)E?f϶Σ?wn?Q{hSݷ?tWޑ?Q0ͅ?+r?+8z?ߗ7Yv?`9Is?ssnq?9 ? @?n? ?!v)?l??PRr??֙>|?=󯑘?*-tU2{?|Sv?r?|Np? Gmm?F6?c?N?Qң?C0'?f?7?#1?ljH5߆?E6)B?;~z?iLJcu?фƜq?In?LVj?LUzgh? Y?m% ?0_?5쵦?[?%4?@g?s̀n?ġ}?"w?{^l~r?Mrn?-i?.C!f?hwYd?' c?hܽ?[V駭?^ѥ?)/?>FzԄ?i$}?< {Ou?*h%vnq?3cl?3h?J ,d?y-\b?Hz|`? ]K;^?,#T\?Y$[?'}4h_?وɭ}d@IaɻDĺx6&gldbb]4-jGbREs:?6E?w}a)9Yoq"+Szs|N?TҿvZ`|ǿK[β#A.騿OuӠ#\3:-TYZ>{a+ٖIwFRp'>iV c$$s^=Y nӿ A2zȿ$&e3/nJK>w'Ԣh^AT ێlE30YG -J|F;5 u;_ o&h*x5# d jy,?~Mꉝ?P[&; ۠p/2&u!MޭȹV[u-&'EBjg϶ﵪ3c\lv5p󰠋iu'_b߻h98j=_i!gP㤿YK/vn1!sFt'xgJ1g-zs y$-`܀cؐHߏVbci\lD@%Dףߺ~|\"bݖX9⪿$9eqS}}tq݄s_ /`p (oNاq*kz*cI3U?flaF.m򣿓^ "nKOyl'_N8끿wr^Z: 2~f&5[D8YA6 FaĔĨX7KUMq}b5zTEi`ȁu7~EӃ⏘He־&y&/l (gԒJ(sS:Vwd3ls SmʖتLf ќrԸzw#̀T섄0dj'& iy2 UaDⲑxZ=;.+2n-]'c~ o =Evfҿq|1IN/uvۆю )5Dy>2a6~<䌿\vSRP`S_wnkscӚ}VMxɭ[%bK}( !`9`Yքv]n.N1q9']qdޏB 2\Pz?gfp>([t{y+|c.?p*qg|K 炿豝:ڂ#;/=+ڀ\DVYJ d`7lSynFrQu+xۣ{r}1%"27ޏ]Br߮}Tϫ{U|tVKb$içAOpm_svvPxX zW {{\{-]Kz̀˗wy/*wsU,Ramcg썷mvq+,"t{Xv1{wwir8Mx%rxZwL}!zv,#NtNX(|^eOƽj%0ѽE֡ٽ[⽹N )?aG86yIm8f1 WP, s(.o>ۃT'q1 (+:@$/CL/WET~灋^t3?fP'?8px2w0VpQb!boo]|Z6xmy ΄J]852jyT. 뭾`_̵ H˿{6ǾP/*:ǧQ.ӯ6WH$:`IɾQ֟ҾU)pg۾3`6X7 8 +!ZщľUn||ѾھiP 3^i}tqh;c9"0{9-.^F!5X)ww{P(Dz{g]FۂQ]czi"`*|(:v3<*x~P<”RAD_<UN\R2)Z~x:G%Vr׊b/,K.7񯯶[@VWHlԮQS9JYq2b嵫9k 0A,7ɚ5/ó@GHQwUTrX+~bjwF'j r xv{3G>;im ~ 7 JRI%NI,62b"6+5]9,޼=6:fz@d8Ad7Cl?DkEBAEg GusĽBLP0+ٕ"KW탚Rrr᜾AU tG'S|Swf Ljǫ]?N][Ixn}j`Ԏsz堾{/y:.޾# ` chSuu徹$&rW_m>H0[J? 7输?p.'Uz澲][s)fP1 ˃`Vܝ{X7f\B,D*mJ&bZMթ$?&S !lRS'} +Kٜ<)g^o(S׽(X nν `X{ýP`l gzF0vCA`,+o>J@2e^(|\ SXk[AJ9I(AUx 8n9kp/&}`Y$bkU+mƾu,_崾5 p`& OdWs6E;~e͑&9 ͊+poxŒMul!Dk+!`mu9` w۳oð "߰پ˓;)qѾ|yTǾf俾p%NI_R#;W>&5%eZ (2 ߕS'6p+w$%PrM:> .L!.׾[ڢ;C7f(9L >~Co/:\i72@༎(E& ~8$Ҧ/'Eern#Bʔ7vgTx>Rj}atC"X q eP?FwFu">Tm[4d+ýL"j,'.{2&;U]Ib~yհ|0q4g[ڬN99`SUGa5M {C:ߏEk1& -&=_ QD&JæEU^`Ibk;hvq xy4[j 9ǿxѿJbIؿx&}m6LvʩgOu3jhLY}k:?<߉*?Bs¿S,ʿȶ'ҿ5৭8Pڿ'ٯr.Jy3`Hue건&ߪGT:%笿I.?=6Ǿ,ZN3& ÿuN.u̿q{! ӿ;-ۿdX- ҍ*8Pv-񾟿VT'-tYwAA}ſpͿI|Կenk4ݿqPof|)K}0p/䧿7V02cտ᪟vݿ͑wmjZRǒg$6svBNjo+7.ξ&ƿFPfYϿL2տ*޿ Ȇ=AG]B]qP/c*IgΥMA.e4ǿ`eϿ hտ ݿܜoD7_ G0+=ؚKףM\Q:Km@կǦ&ǿ%v E^ϿZo_>Iտ,3ܿ tl xgBAnsq;n$޿?8!3`ƿl"iοATԿ?ۿhމ  RLv礿} 4s"!Xy;cRMp_ƿSbͿIkӿp$ODڿI6U1M9#0ˊs3!xlCs.,ngY~Kطƿ*tM̿ ҿLQؿiTr% s׳Aߒ.IWIqJ0,~C'=zMr9|ſ˰u˿lҿj"׿( %?ȿϚ&n(4*WԩّkG沿ӊJx&WĿ@ʿ%ѿ4տ;6NHOSm.!¿!!0ǿ:(ϪͿPeVҿ j(xl2@h*C0E`>& vX9N8{ ƿ b̿juҿb5$lZp߿dS ߿MU'K4⿴L!WJ~俱Pgpơ[-ƐA>%U|?aM d_V_򿖜0`T30$BS¬kḋ俶ל>uῐMݿC!׿B ӿ6l(Ϳ 0ƿOucR2N޿DE/޿J6]࿲kt⿯4?"(J 8 Š.uWfYb꿀-Rt4ဆVS퓓8p26p+} {ZREu&FUr%ΧbCz gʓ-/忤ACܿjD2׿ݫ@ҿӄb!̿f'xAֿեwCտ^4MS׿#ܿeiWc{7tGh8,[zYѲ~x wfY͕ Y ƶ " )}󿩱% Zs+`\Odix(8D hK޿VI,ؿ&C2ӿq8οFE̿u/̿Rѿ(*QؿD2e5?@y濥.ǭ뿢($W$JHWOPYITC~$}!ʆر(aڪNP[p/ ({|(44PE3KW2=CL *OECت翢a`vu05dz:ڿOpԿ yϿC ۃ6!gXƿPTBӿ&i޿g9f<[z뿄.+NQ󿎭'3m:ԨJD4L)CqFfj"CDY,ABb,ww@ Zoz;q쿰 AID [俴}F/nۓ ۿGHfjտjeпu@H? ?+|B-̿7UЁywڿZDXM +|=0ӝbCE*EPBi4iΘ.[]x;gnf!_|ʝ: qq^ -)W7%迩tܤlkI2ۿտѿbqV?uW?j;?U@ Ltֿmij-鿉Fafu M/e%BTb}|XR %iDcSN6Z^$ +nD:dk迢Y'俤5>῭Pۿ]]7ֿ_XXTѿhz?9U?;hJja?&P᝿nY ѿuK4_ci?_.7ӿJZ9Ͽ|O,ɿi'?5D?!4?8?P-R?t+4׊̿DV2N/ۿ4g =$y翇+b=Q6￶:&(P8ܢ쿰D[Vh)cfҌ:74vCQk_;ݿTFH`ٿ9տџ]$zѿV̿iƿI?!4??qR?hinRʿ_cؿ|O%U࿭D"*MI!\,̏G꿳Kt/*M86 꿿/'Y,u67(RrD F屟&w޿yٿ]ֿ^\|ҿr7οƱeƇȿÿi_0*gn'xꤴSP22!^Er|MFs7-nu~iڀpWF`1VK _@[KnQŷSlYR(P8ܦ֗|,jrc u dw{9Aoxef[ sQQsɘFDbI-jǂ߯goJ =ࡿ+Ǎs!U`u? 2х =2}zps iI`EU}$^H?=Jgb!AiuM՘0^A~JJ>&a*`J#lwqnF[dRcGY+Mr^l<z`8 G(Yg𩿻cvz&r0vc3zJ턿B]#{LBr)M0g12%]ތbnVQNL 3gDzDHb`~fs -s;utko6a 2TpЁBÿ7r{GO(9F2Ig\0ǟ^L-ѣ)h@zeCx(%GoztucĞ VKfWƿC(^o5K:QhSeÏ6>סㄿz)"<{Ь:~qVce?2YB&4ɿoqFtu"]SVd0EW?C ~i/s)ݟgVal[^qG̿S*˯¿I˸Vou.w Ig!5:(zZ2ctbNani4ވ*]هӛο^yĿ^cAQJkAg\n>Xt }ꋔw#j1wu'DІ*jKW:^,rп({ſ2;!ks@[PD躳b$'a{j䞁<)vz+2QjB{d^`,\ѿ!%ǿaEf|rOe qҭ3PֲY长}M>(udFjUDn]Z]ѿ9ъǿ;4tp T@Y Z\l3YQ0{FAo.BAa7;Q[1ѿԐ<&ƿ e@бuNq*`>Z9;ϭ₿3w_ 0u.f:^8Vl;`DNGTW ϿWDZqDĿdXH" 2Tl*'*yz\z˟hj6WR'>zN+'˿"C'ʹ$k񐊧#z@ʃaʎH.~0KtjjcM9#/?Wh,E?iYD?bƿ0m{\y*E|˭L0ސE~ )}Bg_qp$6H? 1|_?@a?>/_?;W?rܫӫ@i頿\bfpj Pa?~aar?{ru?w%u?| r?yQl?B{b?,Ӯ2.?yǖMv}a i In?!?:e܉?ysUn?- n? -́?NL` |?g2Ѵt?6/k?ZWU䆈? e?q?_g&?(`2ۜ?ë\,?|xR?8wZ?Q?6icb?͋c{?)1Tq?6?S8"??2;qb? ޹0?CX?o?0`/Ϝ?L??^?m^? t? j\v?V;?R?@rֻ?29G?,:6?@ᾨ?Jl+ӳ?xy %5?Y]1? d/? R?]xz?c;?r?%5nx?I+eջ?(?lj? ?P!Z?G?Tbu?ZO? =r??$P?74l?|XgC?;Hĸ? 2?*L֪?1+ƣ?(?n6|?J`?Yq2?8 tB?_c?*yc?i!*?jb?`U?[I]?SpD?58?&P4?zeۏ?\?±?!HK?AA?Fm^?P^a{?J.!?#GJ?PJ. W?^x4?B?bk?UG}?FBA? !?F%q?C?D?VsB?CB?xpf?BH?s$?]0?@W?H~?|3oE?!?~?O8>r}?LrY&5ض?Uh{^?w}RЪ?]G.(?)QT?5 ?T4?8e{n_?ȏ*y;?0kn/?.?k\xVn?2ibG?TA?+kFE?r=eۓ?0U}?2d i?"[ˆ?FT-?!9Bu?"˽?9T?e+?S'aĽ?yDŽ??P??m=jv?pj?&#?]xAͦ?j5ټ?/8?CF$ȶ?bo?X.?V!;[?F'|8?w"Z?X%5E?]84?N?_4T|?&סx?fc\?,2(?K"d/?ie)}?'>?L!W?c%͍? $Ņ?]e?1.Mdky?`ɮDt?IJңp?^zb0l?[ImVh?!tf?B?!eIn?9۵?)?? ?ЙM96? [ix? 5*s?ѸO2o? [{nj?&Kmf?wec?cEa?3P`?;?ߊ?!%&s? rnjTb?;>[?P[?5դ\?+?5*\?ӻ[?_uZ?4.rY?z[XX?2PW?}V?N,U?Q;̢@%W ?sW'UzAp>CU+bnVSުc@N/¢d@,DQ#, ! @NtƿX@42)xUˑt5vÞn-wSJe󺂿:iyrYqy7hGc0`oV[ P>~:G4 ˿Y"8"}QMŏvu ,ku,zn+쩅4Tx:tq vdqb $iCxbVJ][X0VҺ~xaο9t5¿<@8^)9V|2pFn//藙az|؅Ἦ'6G؈4"U#AlQ#L5򤿡}B{򨿌@9 װM'nNs\R|^8ޅr(7'oa7}+f6oe0 ʅ2mw㜯D %l5 U)Ю׮9xi e dXMa7{ sj=O #HkiO䢿H6"]֤"AY9N&[:CC uAJB(CKDD|EJS5ȘFlC CI%1)fQXDɓ<ʛ甾2pV񖾟 N (f]ɫ1> 3>_𠾧4t@T4+6f2C?Y]X36+#Wie[` m?;&'~$rgp a +\ L ) MS BW {DIXyͻgLzRLص~AeIvN>J eK }U}K_K՞7Kڢ6JxJ#'HRG"@Elv/Cai>A0=wD dWyfU%P-ir 1k\XGl!4nn:ofoy I#pXzSpWYSp- |#p #o.nKonlJ5k!&ib:ݻf?RadXS P׆|WȺ]!.TqIU&"ܴ`BPa$ +*Ό<0.ʧ~vPzXC$W&t#,jtMFpvs-EcփY"ёսܠ_ >cT.jG W-\0Q?gIꗎ}frZ줿`*Vd.qX|,[]Hr[BwWr\)%cI GR&aG#wWȽ;]ݩ͠0չ*"ܽTkҽ94Ҙ}Ƚ҅bm6(TBo{XM r@iSџzaMJW#PV-9E'kpJd=-w3)|*OhKE!js˾Z¾#S{i< 0rt%⟾΋uRFҍSNTEz>^:$qfJe5+W@$t*oI-'澂+1-)߾$zA,վ(?Z~̾K^slþё6u#i7ܵdEsx1IӪ++-@Z\$x*dY_( Twqү `"7H}徳M+śܾ*f%mҾp Ǿ$|A}QhGur<@yL6"R.|r`$Vy%x+L 5&!FEv.ݾ{LuoY{,i@@UGW֊5_K+"F!-\Ӛ^+6B#\Q)~[Fx8dґmPd}ufX>~sm&:qz&X8 fbf鱿?^IS2V"bb2] k&s[|ڴ"V⍿h<[M.k/P/1PMC^qԐgHqK9yW-,t?^tH" A +J34 "<+rUV4g]cFcNtn&4%vŞm)>Oט~b2 -5WĿߛjeͿbCE{d~"~nr||h7W+_ 5tKz^蟿)Ӧ#o~pXsd?yEȿ$nquѿ6 Nhxkv->gWIOaxDuf⢿:󪿢8 u@4(J8*ÿJe߆Uh̿uԿҙl- kzG/^Pڛd|ݞߠK@Bn'D:/*ʿf!ƿZ0/Nп;e'Mq׿/pWh-~O0]{WK2ᘿڔʋ-骋!CUWaұBHO`q¿%Zɿ=_ҿXڿAzIsٚdA$omʊTeyc߈4MkkhTIrF,[ Ŀ?aۀ̿v]fQԿnm' ݿrhudtd5v_!vJ9jhCEPW:W 0IVſqhbϿcO-ֿl;j߿АJxEձT⥅0Pa>hŻcvYKiJEumf_3!sһǿʺIп-U9g׿@ Ipz&dwȇԠYO>Bڢ~SfaYf.qڠf^0%3TxEȿt_:ѿ MpؿgY5o}ɕщD2Г,LqDҿ YrؿIu8࿩cNSg,}fѺR[8RMR%̎`ÿh\ʿ ުѿ7L׿ DySЂGG!'ɡE1Qor#.* VwNLoQÿypʿn?ѿYֿ:&5޿kMx% bͧ}{۶tF1 }S8R<1CÿKKy@ Mɿa2Ґп;_p*տY'ܿɬ}VӃӏPf@?A+Ҩ;$7k~M_U|Ő@5֘vL*-i}ě樂|4~ grW,ץ<Fx2ĿC}:9ʿпCf~տ9?ւiF{H(ZZEH92ͬ1%]ˤӷ9wpI{ÿ,3ȿ$ve(пQ8X/տ8[+῍q5O}xd޿o߿٩u22`<.'X| 3a jAY"AC+  =9i濢GVc߿)`ڿcB rUտxпـ3ʿCÿID.W޿Iݿ1Q1-߿if!俌Ɵx翠)G&(rkuEG򿷲oW6K2$ ޜhT@fND 򿢭l=\e○W|5 ǴLl)lcC5eݿE7<׿lNXҿ@Do]Ϳ (3Sƿ[2޿)%ۿ)˻ڿ'Lr/ݿ6C&rspwyG52FN-=wd@PrYK$[+R>l'|8@&v!MzlWnis64[W禼T~߿ٿXԿy-пa>#~ȿ3ؿ']bWտտ2yٿsr=Zu-促ii@j~"( HdSr^z܏`鸒8 < ^vF𿳈hG鿾 ȕOXVG῟(e#ݿLx A׿v_a0ҿLr˿?f岿Oï%Jt_ޑcο'ؿ$)M֍Y M2Z2`+QYpV/:|զ&H/|ŐW fd3|;x? k;~ W:xI濕Il5,޿N: ؿVҿ&ͿlN8:?Y)!?@o_p?QԾD9"/Կss:Is翸ɏ476C=.X@$[y=xs:EA+ؼnjdڼ%pύ[h%n-A׷ Z97gn޿aFiؿ mxhӿ8Ϳ"R?.[d?hr?rUE*K:ZͿ9:/~ݿl!@#5j~, 9|A+ʫ@{exG8RϺ@^Sr*2w8󿳡8X<2#<:rxt}މDp߿v@nؿӿ5Anbο?O1j ? ϐK?%GϿ?AXgÿmٿG ?lOi?M?cwp+[?Wiտ1~TVFF3Sj+Ln.$b>c$wW>W OS;E#N1w8O2DĬP믮I4{ߋhsHTԏ 7C܀޿kؿQӃӿ(shJοU?$n̵?m(z?W%C?|eq?haѿK;῔^6<Ky󿔽M/ IaC^YLF=e !|@ʂGmq,s}(DvK鿴E_Ȍ&$⿼Zݿ]ؿ*ӿͿ#,?#W?w?QT?޴? YͿ2J/~k迏zP݇򿨥sLϡ1&oI?RO A⃿v;Ԛ+jzP2D^#qpIfj D y>'fLr#ܿ.<׿xqxҿ'>̿s|8?)C?$Y?d_p??ǿDZݿ4lVϕ{ǭZJ<䁟I Rޥx {7#=W}Ccrsb4(C5둱%1*"A%}A). cSۿ85&ֿ|Ǜѿ?~˿J?y0l?}xm?ATmPF?)!__? /ÿ?ۿ9v}SiUVt,ū,TgWtڶ2]ѥG0_P&j`S#OY\wͤi[ ߿[˨ٿ . uԿ]ʶпʿ:kB?L]i? ZC??kf?<bsؿ%a-[鿉= ' 7%kt>h PeP%iYq,7& "(Lܿ1>8׿Sӿw ο|Z_iWȿr?G9?#kvx?8Y?w/|?ϹͶ.Iiֿ[tu *tyw !쿋@lҽs@Dc-w/2/_YeW;Ϧfݰib꿗[Ve5Z信úXo`1޿>ڿ}տ aѿ@ZH̿GOƿ>?(n?-Zi?ؠf??N=?WejZԿ*lrʽc忼YK<A>,P"`zE ᅫ(I/.M57k`d뿯-Xյ "$m&5n忤yAkG^ QۿmlM@׿@mLӿ2ϿUk[ɿ}2ĿK۾?y ?GHɣ?$K?#H?.rhjҿcbSݿ.Н{Acا$F<{@\뿫Ƿ3#fNN X鿳UK濶d-V P R3%m%nacΓ Cz6Wہw\UoBdmkɷZQS`Pk nkA\fҼ:Phc`RҡϽ^΅b5|/j|5+ sYQhB!%`æD3$SLkdEEˋDWa~ՕDxx J۷[^V1%񢤉7?2ZOv݆pzm ,jbCu Wk+HDieĿuF6Ԛz_\!^q͟[eq&Zql@Lǿ J'ekDv`$cmo?yt?OrCL9ن͔ ~ yseBhЫ6^:I^)PzD,3˿fkV¿Xc񊰿W1@B[uJ݉flj?〿gH)uQkrځ` (QL$οC=DĿAڳOc"h¨>!qS'4uĉX"i;QqȈw@ax㚝{%(J q4i'cZTr^ֿz<ͿLnDÿy0B@S8p9 ?Q9aNDfsڣU^+z5nxpGbR^?~fֿ]1|Ϳ Qÿ.j4?:}y9ucВ,, Y\x^2cp|H 0o&+K!,`0}uO9`:6کӿ/#Cɿqӿ7ij?{Z"&̜cjjkw.-seaIKƱ, ,}:>Sѿy*ſorOźZЭMx?Z7Ě?o?V8I?@?*Cg?*?|):v?otj?l.?|?g,?dz6?Zo'?@Ƥ?kQ?Zm\?Loo?y$4N,?٠?Z:P>i|?T~p?Z?n?fg?tJzZ?'W?LG`H?o 9<|?7af5A?Qf?V|?ў?3??]+?}Q"hD?R\a? 2S?!b5/?⼡hw?@##?AZN?I;{?]}?Kռ?Y(]7?->?b/߻ ?Ճ?*,-?3X??[m"fBz?m+?3s5?>C?l#?/Vm?59?!x?kH$?JT?ۈM?O]?uQ?885}?YP?s G?;c@?ISS?Tj=?tѦb?9*_[Ԡ?­/?R?O{?d w6? fS#z?〞7ۮ?@A/wx?v7k a?;pר?bYG?Ž? O?]5|?>v?Rw|)o?dOEc?8 w?@.?w?MeE?DvhT0?8y?LNN?}x΀?'Ӣ}?Ptzx?r?q٥Ok?iw`?Kj봃?$P8?@A?=Zك?W ?oz݁? &.d?Q}?Jcony?,K6u?/7mw?ɺ~?} L#?ׅ}?J(?y8?p 8?緊]?qI>? ݙ?ǟɒ?G-Y?t\g? 5|?#3w{?a7sw?p u??u`?̥S?]0;q?ϸ?MK?U,?<@?%fʕ??+ُ?΅S?{&j?tߴs*I}?3M(v#x?Sܮt?hr?c? S?k^:?IR ?C7j?)h?RPYD^?Ρ<#[?JAd[?n)\?x[?@l/41[?ߺZ?+U@X?k,W?O^V?W"*V?2T'U?r4:ʲK;KPJ%_#uU3mhH4["Jud0Fs ?* 7? Q@`@?UC?c4AE?hQ ¿OոXJ7zn<椿sIQ+Vk3 ↿"N}[җsY}ciPi!`14-SҜF{6J>~ ˿OĦ" !@DŐ.{P#~q=46;u[x,m2mJ26dŋG[)@&Sg.ȁzQyR~V)sN\튆xo8}vEHi8 c֨~]gvۻqTS C?k\f=i`{c>3ӿn/%ȿtQL^[TixMHp{@h1JŻ#* ^kvH7~TzM~uvtYYpi@1)k$tgנ$F2Bs4Tp^S8x * 5/0Ak,zYuU 嶿zry{:ܧqrſ Da.ʿs}f8O͟Bn?Oͼ;! ˸Ω \/5u%RܷgIPü%qrڟ ÿ6AY#zᆿ[b$HM+!ǜZn5ʢ\jJ%CTlދ݈um ݶ5J)w缿dx`Ɲ0_l "W>s0尪ޔ%'IxXhKQ$T禿xj챿ݳDs1#GDu%2Wi;؉sMZ##,'ʜm\R!q 6Kb櫿AV=H$rSzntQVđ9L !gAܚ=TBfk<ԡP[磿YSۦQ.?A3p3D{;Y>WM?6p"GK矦l9%y7Tՠ^lAVGrkxՋww5Qdom)@IAB)e_g"ڔEs ɒ-<O/g'JhsDt-G|߿@ _Bq^^org⨗دғ%`Ik"瓿Ioxd+8qΙx8~ʾӂ*i $q14ыDH\5og5[.LBamسt: Lzu5к}DeWfڄㆿDe{ACX G93҉ڝ%eK(W ҇I+`^aI;i@ZzqpvY˦{_ p@uN;=|Jc*v zä́cg؄a1o5Jr҂lvZ,PЮGf׌n+@s6XRwXz ؿ} nԱ,WဿsCUg<@$T{Qu[Y~٩WpwcOk,)6qe&|t_kdwe;^ϟyq{.G-|k*X}mӻ|%h{z"yS_G¯c mXpz@ LrUiȶJt-L"¾ʾlEӾ`zsݾwz;$,**Ә+TľBHL˾zBFӾo۾"`f{\7XїcRTrwo]&EW#\O,C)A(ڳl<6#9bMk=Ʌ~VZP\ *#!_,8 5>?`WG7u]A, ^}T @\}Xz%B/`{!6Z#@k I)Rab'p[&Y=F-fP~8XBGrq>-4.}>(Ut>MGd3>V]@>*w>,Σ(>JNГ>} 텔>5Ȕ>\>E0> N>3fye>4>-έRb>޷:o{>G7ok>э%0>.d6L>$p>z@@l>˻~>-^P>A>xү>̧{>%C>|>LNc>56P+>P~\>]><>G8>Z=9 ?%4{?T?M? K_ ?-x!?.R"?CRgA#?_5"#?fS#?I{O"?0bH!?Y{u ?;:?4uN?L@s?1OM*?CT#8?T_RA?-bϖE?-AI?rvL?Y|bNO?Y"P?PXQ?5>Q?2dQ?lyP?nO?n|yM?1 bJ?eGk%G?9(?a7P?R ѹ]?i6ƌ?+Y8?6f?Dݷ? TW?IOf6?MQ?-Kɯ? ?mN?nb>?yox'V?oN%h?R8]?FQ??p@C)?K|i]?ve ?3(?Cu?)?gmЬ?Qr?}H{?4-?C*?ōa?x?,)>Ms>k>e$b>7X2I%R>]8/I>cFA>kh8>fYx2>a+>X Ķ>4 bc>X[mmX>P{>TC/!>"pT>1m.>3>ZX> >Xp3,v>헑q>xeX?' zJ>&'ԫp><ɣ}>=>H>>a}>2b컾>]w>ur>HЛ>Jrd.?q%?? ?9 ?{ګ<(?dn>rق(U>kv/>ьaT>fML>i>#Q?cٔzH?_@?G"{pF7?>9 0?n~)&?wI?G/=?6G ?H?N6/~l>AT4>qko?K e?1j]?`~+CT?V~%%`L?DC?"(R ;?sp׿2?`Kh$*?RBx"?N?Eul?ae%y?csT~?koDVu?yfm?|BBd?[?'eJS?vJ?UkqB?KnH:?0'" 3?X-?'XQǛC @WW`7fdĭcpJZ1xPt9B2d• R/ $99\տ}ȎN3V0"]uڋd7ҞImX$H7 u^~}qtXt;W(5PcI!= K\q؜b43Ni}vWr뙣dzi'v<qmBm z&Ig8ߒa)dyLg}t o:']v82kK5qWÊ 1㘿j4%'G`8&r <¼ɣkeYmllsMsKU{wԌoEx4Pv_K˝MɾL>|ͯJYCw{5*nj.Yq%Bt@w4TK517"Jﱐ|7ID&;A[:ukU׌8P ÿȮ i~o.FDt||r{DS'%/՛+bcv 7MR`XyvqRP[rDbrWƿHևrz$wڀbTב2~+OY$ޝs.h \e{bb|Mÿx˿!Rӿ;p)u";(ˀNg9䒿lϐZ6fĦ "n5(x]lADfvĿ/sf̿n:KӿNQ'~|bZVnV˭͡rP2S9THf(x+2Ŀtf̿.S&Jӿj z%ptg >ތvΕ\@f/r7Ԣ= f%P \]Yſ;|(Ϳ,ӿ[x|=8>qAfң}SgFw)ѷ"UGyſJVͿyNӿ'Bwf/|ͨO1V춟"dƤ󂫿2sT$QV: m{G?ƿ@Ϳg#ӿřሑ8rN䔿ՄMf6."ﬥL,˫&첿y+M sWƿ:|ͿӿGgl|-DŽHw /AL)[[&lff,fuA&ù$<I"ƿ_;9οN=#ӿ%%2uǞ4oȭicRĜM='`U"h|쳿.35UF>׆epZOR둮ƿo}CοR>ӿ)52g=X)R/nO6f*Bdۧ-R!1TJbVeF܊h/%ǿ_~οV# ԿGD0C3..Ϙ8iEHLE~WR=Ȗ6E|I5\凴ΐQ溿6G?<Aǿ"Dmο1z!ԿQWcf֕wjxPKOU_TQ38MwTM򛴿9꺿 Qoq /ǿGa芅ο#Q\Կ?[y xD@_xά8ŚQճp+: Z=o=w ƿuο35ӿfA)_Moe|UaD뿜B:ɘL#| K%׿m*Ͽj]VQ^ AT?2 ? &2XA?P/сu?'ޅ?8НM?o?^?Eў]? ?Lv?˒n?I7t?yYG?x!B?I~?hS?}+pX(Qڊ#4^ #M[ۿ@>HtͿ? ?UZQ??NsB?U 9?kڜe?B`?$-?ᴥ?'0?7UH?g'm?\"8.b? F?( ?)x?RT?5 ?mnCǷ?ysG?uC s֍$%_L꿣v/HcJ@KnԿK8wE?d5N?ԭVn&?G<?6v?l}?i_?]4?| E?u%v׈?i1fl?0v{?΅L;?v3`?g܃WGeCM:]񿛙d5ٿ.\\q@7?5߹?&x?Kſ?m(7+?:R}? h?a領?~?Ɲֈ?ayBx?l4^g?f3ه?JE?annc?Ae T?Xi ?j??~fq?-w?W??lf1B򂷮<忨 U?ҿsil?p-@?1^ ? :?)y+"?i4|?5?,IU?}??MM??`#?=Ȋƛ(? ? Q`?3I?ibG?+?"?a|*?p?0e%I? ݑ:hi݅ gRצHѳĿNY2?ة?Q8?-rJ? >?.?wB@<@c-@Ƴ@s+]?TWLO?HaO4?V0q$?,5?0?Мk??:i?c*1;? 3vz?+^??Ii?? ?ZW>(?ML?XԂs?19?!:'d7֋UV^᾿7$?S!:?F?#e?~&?pt~4c@=@g$@;,%݃??Cl?ggK? Hf~ |z%׿t<4?^ -?=^?~ʅE?U6??r2bm??r#k?'#?i˥_?y[?jt?VM`?Bz\?dѦB%?~1?η}M?U\S?=gI? XG E& H Կǜc?Џ_6 ?CT?@$?0{u?dt[?9[~?s=4?9 +??[?mڹ]?DNw?`q?oJ? ??E-?|,#.4?ӽ\oQp?@?fәk?ڮpJ?ؓD?m?G3qqE⿪!93[Iҿm7i?З7#S6?Wk?I?K?_Pr?WWb?"?Wߏ?7)U?CI]?Wn?}\o??[u!?>K!_?@uXP?A ;3?^?e$?V?>l)4?ںn?lFԀ?̻[e?cl?X?Y:?9ȁΛ?{4?%7)ˀG?Fw>?hx?7Tq?kɖg_h?za? bZ? D?JHʱ?qr?=Ϙˠ?Xd?UT?2sV=υ?ks~?Gb?'s~?g8~?Hf?2f쥀?$Rw?BYp?XiDQi?Eas΍?9?y?#誓?L⓽?-?wz:t?ċB?(R?z;JJ?`jz?jr?6l?/MR?ؔދ?Eӈd?;6h[v`?m#ŧ?w3C?Y$|ND?+f-?AV?ٶ!v}?2mu?=-Zo?Ǿ?>?c~&?=_ʩ{=?lXV+J??Ce䎘?FӐ? /?]+?KI!w?Vbq?tw?|ށ?r`??a[Q_?`>븇?rp?˚$eU\#_򜀿P|d5ƿAljur;4Ƿa#s-}l+S~);ɊਕXx|-m8OJvԲuE7$Ͽuxh@ƿ9h2p忿4ݹ-BZt*{jݷ h(]wp!KXeÉɁޅ`ӿK.˿et ÿ<5">/g@|w$>EK'.1Jo5ǻ ϽKV✉ +ٿ/?E|ҿJKM˿hXĿ9 b/3JIf󰿠vY_ũJ>~2⣿ »Wr;Fz. TTտDm.п kVɿR4)3ÿ4 (]!T&-X4;k ri)QU`Z+n>ҿGw^̿EC*ƿwB>/2OʺմD >DuRQŇ`5Iq$ۙU򗿋[̿RkHdǿ+¿XI+"Ϸ벿Ku%f*\݌[) +$!dOsƿ9C¿ 2z* H##pNyưu^kE.웣IA5&g2iM枿`I2V++BIvɜu'09撹:pBQKv~HͶES7AI9^? f/^!~ٖwΦ B$췗9hݡⴿ2AL[G -7T ؿf UѿlqVʿVÿs.bY+*YSϳ7@NuC;4n=iHסЇC.YL5ƵtӢؿMƹ5Wq{y׿U:Gѿ=u\ɿkE\ÿ_E1.>X {IVFS[AWdx@7MͤAtzQQޥҜGL׺5Kc߿dqb}ֿ&ۚп(Ύȿ gQ:¿)V X3QKͱt*"^0\,H.ȷ!beIt򥠿xR~x.BH+޿,C տ||۠Ͽ?Flǿ1¿}@⻿!gᵿ)O>Ȧ;)3yi6>ٜ4}&b \ܿV/ԿȨ@ο*ƿ5v!eO ttUMQ>#v!ͣ.-ydԃ3mޒQĕ\r%ڿ-eLӿLͿjXſTXK#)P>U Sm8_$FGh'߄ǁ^[o^ Jps0ῧZؿT#YFҿH~X˿qĿL, l,$˪[ RXE^ϸTI_$-ܦuT ߣkYG3K"dƮqJdJ~.KfZꕿ8 MX(M&gnZsn3'U`hafh XZm&'̐^:LnN󒿂]$)Mw59혿)>9S&YT㧞w hٽ|wΣh(:hdefZIqѰ@2rWO9fɛ*Tv Ikh&`DpJ| g"H_R` 0r(Ց듿H@5?qlujVܦj~+@T _kmяHwiF»vJa@at$60eII=׵Bm񎙿'ry\*fjЀ[RTu3P=[yY-G8$*`vX5:_tQ_sؔ_ׯZkZ .򗿴#W˃8>xGP"ܜPEgXm/lȧ IJ¡ ~6’/oAh#\a Ȗ>ŝ=HOTg{2e+oq2h4&^>/t,7ҘA`Pw@IUԳRwN[ldxT.snHvJy€i1Q_cY7CdВlB9%tkaʑq}u尅w uk%hnSv0C"ۇ uj- [ 39(M &`=y%Z>l H^LztdQ'C1{'9]hr{B#WL1y'IYfqD'壒7je!<)@ 犨2;. \,D/:CzNuڍV'1a`f ܱhl6*d!zJ'(U571&lZ]9qAUBSu K {Sr][&De@3pYMCwTX 9D,KCef>MWhgw>vv>uЇ>P"Z>.&>>8gGf)J>t]28>&s]>c,>L/[T>3S z>5U1> 6v>\-v6>da>m>K>Fb>eq_t>(">>լ>o@>S>U> i)>;arcs>%B|>x0 >Q,>#B>XDx>CP ޯ>Ϗ? o!?LԠo?`T,?;B?h8. ?yu?"?eq"?{Dn#?"w#?.#? O"?|T-)!?W?1&??mC1Z=rxo"?&Rf2?bS==?>6cC?ݝ,G?wFQK?GUTN?7QP? "Q?)Q?@Q?2),Q?&[wP?{wN?zuj*L?ҥ H?vAE?mB/, 5[5D?g lJ4z>- x>,zp>{f>'`ZI_>-_U>17c7N> E>"f=>="5>IǤ`/>Q(>Rb>ʀS(>50>V? > > >w쭵 >O>mE8|1>o@>=͸>_ɲz>Q>{s>Ƙyo>TN?1u>wIl/>[>#H`>"D7>NQ > }sh>Ӵk^>eI˹>ѣ\Zt>nfCc>2Ʊ>Qj2? De)?[!+!?W'?4g?!| ?P4o>pv:>W/Ĩ]>Fz>4 mU>:GR>ԔA >KN,`U?B+HzM?BmʆRD?9a>r6r?uj?@Oa?M ,X?>&JQ?(ˑG?D@?O6? e™E/?=%?NBS?4?~+XZ?ڤ?iM3է?f y?>Kxܵq?Lgh?У`?~'5W?fd:3 P?_KFF?-=5??&{udF6?Q`d|0?B *? \͵OjTJ=[;F,.c&kY{$tEB}?r`t-W`&`nTV1! Y4sa*Choqg&vyI;]- -.I6hY˪ cg촯NEZU.YiL`Seuh{n)5OUuΏop4)Wm␿y#1Ī"1{; f=0ѼF `Ws;=d)k`CXri6W{Z޴ xB|BN^'R:g( #R(0H>Q oF 8cK-hvTpB;vO4Qmwmux6\|fl\+HbW*J*=f{:4.JĿ4}\g4E mXs7Mt{L/uk7 ыy UѰ F8l+|%Ӯ'gv 9ȿ"3l']q:=xwF1e*j(*ņ> GgZ֢rޠb\t~߸űYF㹿r¿?8˿I^gp2z mt/i{@k:ɂ _V$ߝRPɚ>F%T׫0*ͮI䕶Oſ5Ͽqsd #x&17?(zN{tjB-Q!M'*4<eg!Onǿ 1ѿj v[Ƕ{Df^~OxC#{]iIݗ7렿g_O"Bn!H:q7QոDJ ! ɿ0S`ҿ~H?yBgz _|0FI^׬Wwಿk!H[ÿB˿TԿPQ}}ڿ\d@e*׆ۘCfp𔿦Hyze{1TĬ'8?`d>3_T-'Ŀ\qʑͿ=47տj0xWQԃb[.Bڐ /V\𖿱{HC鮿fµf5ſNܝFο`:ֿU\⪃9NkTnqPS&\Fq8qu&J{h&=}ƿZп1Ȇֿ.CT鵛_7tN赑? [?皿)nuaQA0+ ~dnj%,@u⬀ǿLҽkxп|*'׿[~H~JoEU>D;ٜC&R"c1aBZO(Qb#eȿD;п [V׿ٮo+c6#Ќ\s㄂׿\ 8x/(Qh^Mb<>;ڦ%ǕnBèwZ{¿^42;ɿLJ}ѿo:o׿!ĎOf^2呿@pfv (>d᧿RǠY1.`( a]ÿHɿvѿr*ֿ7&i /=21-R{9O ڨ m0ѵ& sKBZÿSɿ{`*ѿEFmֿcMgm\ZK%ׯc k7]ºp7e.fJLb_M5ÿze. ʿ"9AѿnuֿCVڻ2kx| Q埿l krf !pݙ_D߶U])ij1`ÿ4uYʿ ڊ_ѿŷBֿj\ٕ2NVg`v_{D <}%"+J~>̹.\1Aӣ3:ЙQɘ)ĿNJi7ʿA}ѿZC.ֿ#r߷a>ɖٲPKE|TZ렿]+w:tY(5TJi}^ӾDĿ}Zʿtѿ *׿Wr}xS?zqMh>>ť5諿2!wsz]yvξs5]7ĿJߨʿeѿ8vï׿R6%G9}keVp%祿飇|tÎB_Kg0|AÿU<:ʿ1VJѿHֿCi{r:c'oUݴ92]C6CT2h>0nܿAӿLjXmǿ>xuZa/k?^>5?XKW?Cy?(35?S10?U6P8?tM5??[?_{?UU? F?m?Dț}?õ;j?`M3?cVK?M5t6tZ񿷭OuF;?쿧\濾%qizտ2g?.?x;y?QOVj7?El?%?mu?F''?惜?g4П?C>B:?9Q&?&:ߑ?.ъ?|Q?*?" ?Z"21?:o?\U ׺?e g(\zNC}QY~ܿGj~[ȿ Ʃ?D?eOB$?Ku?2)? Y?u"?T?S5Y?/?_a?xfx#E?P ?T';v?%?Z?p?cG?i2? ٘?UX?7<8?ZvQ%Ub H@+NSw2`֩տ/3>͔G?[(nj?4uPa?.i?xݔ{?óeC?ջO?|2j?i3Z#k?ޑS ?7,s?[ԁ:?I7%g[#otw6Eؿ{r?G?l] ?x? ?V?M-s?)2j@> @O @N$@˘rr&?> ?uj?⓪/?L\A#?|qT?dk鍘?hXa?q3A?^5?PR:j?B-m?mx-<=:MnVx2ѿUDe7|4?3/9}S )Rm33'JĿDIm?`~{?B??N? EHd@.3@#r@J@p|e)@<@lG0C @]˂@|;{?ߘ?NNREx?0md?g?ժ [)?}veR?/6B?%?mWy?IRlNi U^Y2ῬzZ7o? 2?Z|?ë3?%]V+˿FD?=io?/%??#`Z?I?Cn[?솖4 @1[;!}@z5ʎ@C!I@#+ap? !7m?mN-A?mC?B뗾 ?7;?`?rt`3]?QE?V`?S&?Ihf?.rL i?K/^M8TxJIkſ]?5!Շ?Q^v?^#@? 7~a?A?_R??Cfs?^^?}r?Û?Y?2y|9R?(?q"?j}?p!<~?cE?9?f!?aV?@,?;!? ^JA?<^4:11޿>ŷ¿Ȝ(x?ZV3o?6?ދ??m ֞?[3|? !d? I m m?f??hDd4(IqZۿ)¿coC?]9o?+z?NQy?@ H?-r?0?F?.$?H?Z?^D6N?+G?%?=J l?!u?~V?AT'?<&?sg#_?ԥm?᳜'?bl?v Du?$̹?)#?:1e?IQ@HŠ?lw ?小?/˅?wl ~?E,t?-*`$m?gݜd?Rz!a^?W?Oq7?wu?NI~?G C?UX֛?c?V(J?C?v,y?tq?YcLh?_Ab?ُ\? L ?wmi??l!?v?fڌu?#>>?`gW?/}?SMN7t?Qn"%]m?Dsje?ɵ`?O2?#w\U?H\;?sQ?41m?GO맚?a8K?l@w'?%[\?_s*x?t %;!q?44d-i?bc?Kңe_?8gj? ?&Pb?n,u?DXʞ?&N=?C?n2?)iPb{?+N{s?lOl?_Ŕ|f?$S W?Hi"?|5r2F?V?1J*?RC`v?x[9?#_y?x?l?>OGv?=Tp?Ӿi?z Z?Uh?8-k?Q?(~?_xT?Y?o?b!\?ې ?rR$`x?.'+r?8jl?鯣,??VR?`*F?xί?W|?of04?YQ?r9(?;1@M|?GMX?˺qF?jȰJ?t?R?^>?p?0?%j_w.?5?bœv?Eq?s3?ŒZ ?:2??وؼ?'A#? t?vN8U|?Yi)!?NPӕѐ?;ӻ ?@q,?5mw?3E:$r?2U?0 ?*?\?ѻȤo?y)~?L ?X]?I ?V?4q.y?pȄ}?v}v?CjZ q?.AjL?mT1`?HA ?4r?&"߳?LN?bpء?tGi J?r"u?S#CH4r?xj?,?˲?ƦV7?>N~?3,?dM?ϕoRBe?/ŌuR?) }}FW?7 ?L =u?@]$m?:"jEe?(-g?mE?!O?5 ^m?E͟??qb?ec9?x}T?N(y?;Nhp?KYd?G%ncN\?e k?J[?Y4G? ޱ?ya!?S?;L܏?"&|O 4?Q:g{|?X [q?}qLc?gU?>BF??{4?b p?~?Eix ?4V[?{?t$Nsjqdb&ou]@mzB&gkH]eu]zF֝i, <"Tnb+gIZnF>eW`p^ɂ?;x~ىyl iUsv9cTw1tHTcѱ yW x(9̯+3VLRh枿Ĵ%H&9v/ 6,(SRnof6u9~Q2z}âɿ\nGi¿FCɻl2\Z^?j$8GqPt?Mؘ VT/wL&e҄ (}-NhҿxhRʿ]¿){SF-cǑrOAQM@q>:{3ei ʌO]Kpᢃi>׿-T=пؘ\XMǿP'!,nη{ub@ MBCܞV!3;Y`ֈX8`}ċb}_ݿտh$п$2ǿ ނ$CGU,悭|;@8-Ma A!a /T$^Z)&ٿ;A'ӿ\FcnͿ ^ƿ,,}˷^׿$gUc!cT{xέ$݊*R)5N$`LNޘ/]0╿GP;ԿC?п ɿ\yÿcxf^4 ۣeO ѬvbʦM11!,򐙿z!{FA&ϿinTʿbڠĿ1We9-*$P9SK᰿ }ECUDmr`Wꐠt$YL EȿFLĿ40) -VG."̟7z<} 8UږѠlti-󘿏9~ `mÿK{Ox(IB]&l 'ͦy!ǫjl!Y/[s 5ĘI >G!K ,#vuD&7SKU?TD%0Mޯi%bxĠ A圿uVɺwYYÖѨId;'Fe@P|ů dgrʇ`yR==+8ng>8pszKٶ铗!lu`,ԕoȲи:ҰZD,&ޭ.?3S2^ Jy7-^㞿ʺH8;F㕿%lR*?"`E$%7e5Z:E}#l2"@`gc枿>z)%(kEȿs;Q%?ZإD*d7vsJkXަ8O{MI+d"Lٷ”Y)^$) A^K;^9_g0%G0,њ]:QP!ΗmeT딿\!{jhZ΍OYDTqL CjXK!:FXxJ#Ě&(Pg %6iiVVͪ! zX%i 8ML=Ŧ៿#J~O9UKp@Cg,ŭ`r+iΟl4'-' `afiJ%ݿXxAտqϿIǿu5 /ڵ-[񠿿 1ڦ^ JOu.I6ڿEӿej=pͿkAbƿ_zE+%W X4{۹3iwXyΛ!0\ :ڤFTp;&٘QB 6ʆڸ*{3ؿPBR~ ҿo3K˿!Ŀg4KyE#CHǰV֫Ht]Rkk P䞿uܺGݿ( տtqпd +ɿ؛ ÿt2᝾*gzZPK1;῾ [$ٿ(vӿ"ͿZ6ǿӔ:¿9| ڻ7J(uݮk奔 7 qS1ih,@{cI'ԕ4w`5Z8N6MXAxQ BsB[֥/6PM͸ du+ÿgX0ɿdh@"Ͽak/z?'mT<%HrwK|ſv{SXxaԵCcȷaƜaPE䠿,Gh8۫,-Bis?8 <ڞ00㽿bKsAٓNl<*qcUem× .7Zdrj<ӻ%ͩy*1՞~6o߹eNָg"nՖH$G[PEz`eǜ[+_'Y< fTZqoȠjeyp>Na<ަ0}OF˺g"RvOtwlK-m+XVU-;jVΚև-"]2cF`Z0ẖЪɲ(Qm_bXv º棶tE5{;٧`Иz6$Sb )8R}*K66hL% 8HT*AꑿG6/z䔿-E g9Bwf/V"X6އ;@N׆#稿Ow8D/D"|$H63~"F̬z-\fzgU%v<Vp#A[١832kﰊ}iqjPt-k쏿^uǂ+~x#ވ*.>2 ')÷x7rnK75ܟBA]棭ѢK`RR?-غ 1 bsqԐEᑿ).GcE|-s')H֜p>+2g>塿ߙBy:ghh/貚H1%I2 R%Q@ibP(tZ_Ӗ]s-RrXN'^`ð9) o/ムFĝ'|z s4oRiU<$qi-\l/6ua ^dãJ87pB6%t]r+S M)K V2PhXn;FaMDnDdNw>Vi gpVs5<Q!ഠp(I(D2 `=:Ҹ7$COMD/ U5ȭ`g'FqJ%[(jP04t `~^ ކ%~(M>*IiNa>uFOk>Gc˛r>ӳw>[{>c' >wC>܁>pq>fx>.d>xv ǁ>ia82ɀ>,~>k7K{>Irv>5X><{+h>hi>x|>ocr>%'"n>(>`rI>v@3>p _>JW<>9Z>NI>/j#>B>)0> JL>ɲ>$'D>^m >' i>h#?3z,?(:& ?, ?vMz ?5|8|?:N+?c~ˁ?d}G ?x ?yƋ ???|k3??c}4>ni6)?;b&?ͷߞ.?召9x3?|߰6?@9?uVcS?45??&j??'|Q??/>?ǑWŇ|?>#Hn]?[Fc}?ިTZ?szL◑?' ?q+?-/?Owֲ?Gsˠ?5V?(~? F?2? ?!ш?A ?y/?,|?JU3v?:Z?*#E8?Jç?Tf?Gz8j?:(??KC?UVڀjzC>l@m:>Cc2>᷼/)>8j!>x>C>4@a>Yz>9\Hm=%D= {C> g.>eCs>/p >#| >-<+;{>u'NN&s> Ĕj>94b>,FeIZ>'S>/..M>hk>w>$KZ>ʶdD>7i>7Uڼ>ꇩT>Ҡxi>c{W>3&`>u> zL`> hb?<?@H!? yg;?p%f>`>oe>jDƮ>J*a>Ĺ?S>@?pM>AGQB>Ӹ&FA?y۹7?FG;0?oId&?aֵ3?yoT?#`} ??+MGs?kf>^5/>P,P>3J]>K.a?0~W?YTP?>F?Hk??Jo5?wb-?~(n$??B??b ?+xg?2%p<34{?ӣ2r?Qa{{i?++ a?ckX?O_P?J%qcG?*y3@?!!e6?ٳ /?}!c["'?aΟ!?oFc-ő?*z?-{u~f܀?6:w?:p?]Ьf?q^?٢\yU?g(c!ZM?;?~R)6?R5NY }aT(wG\y!,d2ݏ4mVRMu}[6ʈ솿Hc pܐck՘5AwLBRFTlZeZ8*A$Cb]iJ*Lr bU{åv#*Rn!2 j/ }ZTěS4L/ʘȜYI+`~-%gЩlpzIXwzU2zL;6_`ïUzͣl^^#2nʦ z`^Nd_Uml!4Wdt#ㅍM}]Q _jK瓶u(#*H}KxSƔj><政|t:7?TI?Z!J2?Oe5?h?]?i!ͪ?ƴ02?IUs/ ?um0#H?=Ô?{E?yr4kR>P ,K2ugiE῍ ݝ]пcc?\U ?@K?@<?cq?a?P͜?Mg?2?=Nh?{?48|?HW a!?B?B(@?T` v?{\S?4B??7>dB?]?K(!'z+ " =yܿLP+mU?XO? ̻????J t ?&~?th+??$?hK1?2]?.cg?9?~>5< ?/u?ɄC?Č4{?-ZPP?0G4?@?*2?5?yZ:Iˠsd\VeUտ} ?"m 5&?>@;C#?CH?x ?Ȯg?cKh?ia?4X@]@YN2@Ԧ#L8W?\?i.E?_e'?S??Y߼+? 8?!z7p?7a?:x:?T^? ÁՠUvHᅢ9vS[O6ǹH?ْ+}?f&OIj?^?$S;??w. @w]@8@U"ڢ@ָ@'ÚB@IU?U:?'ئd?~)|? (?\tƴ?ď?f?+z?q+Y-?&ɋp2  ̢쿏2<ﳖܿ>Yk?izZX?J@?? 3 N?>0ʺ??lb @񛏏0@#@㫅@c@R@ii@ٓ/e?4?J;?RId?\kIٓ?-x?ﺞ?4d?$ B?T>?V]yܴg?6~}5꿵 !ֿ<]!?Ir-(0?<^)pԋ?6bl?Zr?rcL4@6 z@Ż@Lr@,`ǂ@Z4=#@ؠe@˦{Y@ !#+@XHH? _*=?ڃ"?Yٞ7?#?QIfN=??8n^?Y7K)?W.8jb;]$SK,Ͽ?.+Y2?YyR?'3?`m?DQD@+"@ qk @t}q@/E@\1@Pkk@kZ@)@9} F?Ut)@{@-ͬ@a@wĩg?1M?*%??`&p?e;?2h?܆Ω?BZyC?Ao?WCA(C*' %  l@@"ǵk`f?" @{A??s|m(?RmF*?(Y@0_@ʗb,@E#@Htpn@7*@oFs7@3?&3@yq?[d?iP?Hڸ?E?Jtw?D'?J*rI?aEd?w7ӕ?9?^`HapApȼݿn0QW_*'?תD?+*%@6?9S?~1?4`a?ItfU@{@q"TP@k66@F@1 @Ge02?b/?Mx?,:\?8?;]Mv?}|D?O?" Y?Z?jYS?H\HW{ ٿ(E}??眃?Ts?$%QZ?I?d{\'?(?V?EFx?@?= p?8?%e? 1^??N'#?;*? 1hh?"oQr?/?d(v?č'?D8[q?\FK㿴ҿ9q {?^AV?L?F?cP׺?>?8&~Ԗ?a?c'?(M?qE*)?U%\?iH?}G/f?3q?3EHQ?'E8?(R?s%Q?] x̶?,R?XuYͼ? 77? U?u U$ῸcѿcrNb?Tg?OzS?z@HQ?s]?03?W9Wp?9u&5?i?)̻{?8f?;䶙\?G,fh?MAf?F ?ŶR?:]n~?O ?Z'f4?,l?Lk?1j?I?rDX?Qj?k_ PL?O^(?3K?%|ʇ?6`? $v?8^+?ho?kޟf?$_?t >B2X?@\?q\D5?dq=G?Gx? ?^R? Lr?Int{?h ׼ s?3j? IRc?_L0J]?qYFP?t}6?vQ?`"7QЇ?*j?-gov?`o?8 g?'~ta?oJʔK?[ L>?i?뱥?ϕéƝ?|Dp?_0x?ͯ>5X?yB^z?!R r?%Pk?ȬڡR}d?Z?+jں??0-l?E?'\ST?`d ŗ?Ϥ"6Q?b`u?;(|2? ku?vRWo?d?b}g?1f?6K?YQ,??$j?A|>?R;:I?mI?3Á?76x?'oɰq?.j?4?H-?$?<5l?cz?%H7ƞ?LF?5~?UfD?~ۤ{?JA t?E~6n?4(`?tɒ? Sɺ?Q?7 ?]'$?6ron?H?@F '?`l~?$v?gVp?+J8?G?}y?!?5$l}?4FĢ?&^ѣ?]썑?O`*?X7ր?A!*2x?cwr?cj!?^(g?+~6?w >ɵ?ھ(b?Ҹ?>?N?xޒ?V?1=?4:y?iGL=s?U??k: ?qAN2?? y?`g;?"&?mR?"k?6>hz? Qt?UHN?\WH?[I?}{H?(縉|?+8a?Y-Fc?t鍫?!-A@?tko?A{?ͧbt?Ț?C#?f}h?FG?>v?Lťߦ?"o?Ɣ??w?{?pCڊt?N_K?B/2|?XZ֐C?Q$3?f+?NƏ?5.ݞ?kwה?m15C? : `Z?qKjt{?Ems?m(jD/?:=?>[?~?w&K?!g·Q?+?D##?=%?8lu?eZy?2@r??64(? βOS?ֵ ?͹Ʀ?tǣ?Q6w8#?gRP7?R#74Ԓ?8@_-?B\?"aIw?Sܳp?z{?O8̮?t?}w?ԫV?vJ?X'}\?U{?B4L?Y CA}?Y2Ys?l?,,V2?E|(F?oŀq?e~Zj?,} ?}W?OB?ԠW?0}?Xpw?.5?o?G\e?ك'?c1? 1䐈?ji#4?y/?D?h? |T?7?'I{?`Hsp?+d?:?93Y?,?PC?*W?v?/@?M7U?0Q?b.\|?qFp?Ã8ea? ?O VXXWbj`ȓewUffz 8}e5{?w6*u"_P?_M=З2rkHuЁӎ~)s2/zbhjvx⼕s1E]q?v:FBfk&~Cg~9in Nq'[wf컐_r eu?\-7|95{!xT$"$o^Bw8K,Y gk|Oc/P/6\ْ)>v%-Fzoq*܂ʿJÿ6軿)CJ\E\ӥt;3 o9 G @]dI[ѿN;&ɿc>0?yԚbv:4 ]T򣿺{ iΝG uBSuieA`8hߣտ,2%ο[GſlQYXڵ~ʯ7_x}Hh!l\ƟKm[2Dw-pFڦڿA0Tӿ̿[1nĿw,i5ruϔ " ģ&2roUD(e^v׿auJѿN{[ʿ~$ÿ]ݽ;ـ8:'(6rS< 1:^,o /ӿ= >ο9ǿI¿BE&~0 XGaٱ6ߌ`T|S ;jLFGs6{+пú8ɿ<9ݭvĿ_.'uXAZ!f]Gm=yGĩq +ңD8 kK$ i6闿 {v!DĿ2w!A@B.P h %Xe$+ũCNpo4_agشZ% ,IFDgڿn-CrzugxHMXs;\AxLΦPsEy,Rz]DO騕lj)7H˫;Zp biܵ)tಿnz. U%1Wsτf[H d](l<`[P3HpR.L(0AY?D賿GgG#Wl/0쮿i ThY.2HEr!P皿^$:!Wy%  c[0~ 32nSː2$g{jPZHu$жGCAa(SvbRnIWi,.?a)?xS7PcAvXqp^~JgKY1+ Vף#$; 4.u_*'E^lGrr""_hy=Wߑs  VSh4|OMI~{ ]5e7ka:F+, zA[i.ۗžKlҔגdߧxiEB^Oխ5blFUJkHakHco3ʞIA<ʱӗuyqlh82ǓZ\EMC2pjdX{d X+`qǧO΁|޿Bֿ{^п 4ɿBÿaOn^UJX%kRM6h#];<\F같忽߿Gam׿(HEPѿOwɿ.PbÿYÂbS̶~챿%' Ȭ`GCqd ^[oذ￲h/mDitؿb!ѿy֭1ʿAÿmཿO@\I"VlOY ucqD>oLjl#<*lB /Y翘cȩriؿ˘QѿĬpʿ'!ÿl-V%˚<λ Fxa`1N38)^<t;6{:)kfW +}P쬕ؿ qѿH&ʿûÿFf()2▚MH0MY5Q2+[?|r3∌<^Z𿑌tC t?ؿKYѿ1dʿd9ÿ4a)ҷDJgYஔ< qPzOƤF85PG}ZwtDI|.EDؿS:ѿZ*ʿ"7ÿKVԽEQ; PG:x[Pu(^Ӥ9Hgoe6m/AhkP0?d'׿~Uѿ\y@ɿFÿ ?Wq⶿@Y#ib9 e*xҤߢeQ*bVMv濼җ࿗KNE׿[HB駤İ!AA𭭊˝H˰dbݿ"Bտr1HϿL.@eǿ5ap^|Sh'SsY`c.k=̧;1~ 0 (WᔠQp#u5^{H(nۿuw[!Կ=ͿJϽ=iƿIu d"]c&C٫𰿯\$ޫ']ڣowTCG#ȔQ2~z|' saῷ1ٿ;ҿP/̿)0WſGwi}Q% b]~@S+8HtxO6:ءv^xg$l࿔׿iuѿ?}}ʿKڊi5Ŀ]ٺLB-'杸`bI\ܡUmCQ!y4.6\pIݿ ffտQп>E\ȿxy] ÿǵއd𲿈fr`E멿p#&]umN8b)=i+#?E9ڿ aӿ;) οkl[ƿW a??hJ)(kZFH)oV%.Z\߿?̾׿ѿ}s˿ADAſH+o - CR[CYά-9[|+cjN.ɠ`Mvqۿ Կī&mп7ȿe3ÿIx6ͮS̸'^L x28kcW}U$Dqr^ez@ Ϥ_ 6,ОkBWJ5Ȭ1$ȖfomIV¿n{$tǿLN<οwQh尜He띿"gRȹ4ɚ⥿"c RƷְicqMTw>q)Ŀn(ɿ`;zᘿpP`Ŝmҭ\ ͨՎhKѮչf/hxUJeNDdſB tK{BƪqR2֔Ma1!~w2㫿cG:v鸿G,Az6+甿^(-wv+H^ `~nU屿FůKZn(DOj#`JX7*Ւ)PzY?B+^<۬Fu bU±^K'Pn{ӺB-#R㔿D+"&6ܝY`:KZympp18@qߪM L2FI^h{~Iɕ\>KS&n;v/ۡI,qǫ[7غ?QhaȰBЉˑt7o,<I"5ਖς4P{FsihQn' ':!mlg3uKгPrP ƅH*.sර8t.fb J7_{t<a(ƞ_} ob-~Nt)e7sF,iqJz%㓿i%^*ȑ4wXH= WvAB>2@@*թQ-ߐ_k摿pddТЕOMPO?ۘNfuso蛿OT%EFQA[rs)pPfɾ{s)r1 OzW{BJ!Y {ɒ!}CZx<њG~NEh]3aV6 l!{a"}۞+'z4< ke>zIFG%9*xS@{yFGƖdPѺXoXWZb<Ʉj}oss=}-W`M"=9,Зi9XB{JgӋ7+L,pf>{KhyŢbۛ;2M!u8ƾm* lоC ؾջ\|.J1\!ݲҜ '¾I6U˾4]Ծؽݾ$ 8NS)w/7a:w L K=Ծ| ھM, ⾭c q?ӿD' o~۬SV:s$^ g(%v;2D.1F:UW/[;r#o<)` P?y5$$rx.V(м6}e@LHZWHR:+b[cqIJT"|_$F..=;u%6m6R@m H*Qpw(]Zisc `l iWu,%JI@t ,")939 $^;CS[My2%cU@ħ7_FKg\-=6qfSqyYH.ςm*3΋Mjn(>hW>1f>Fmp>#Eu>05Ƹy>HJXi}>?>El>_924>J >X}>Ãbc">߆*FT>'>#'Jn7}>n?y>eĨXt>Tr0 fk>LI*L>ƅ(_>{> l >\:z>ڀg%>f[Md>F$>x򹓂>:>eB>Y2^>aQp>/>| z>lXr>ƊqFaW{>²N'>տNo*>ߜ4g:?J?x?6*K ?iMd ?i?|VĽ?Կ?`r*?~W ?K&` ??W?'?,zjBC5?uS!?S[?̌*?Ez81?L5?@踜8?9;?,C=?uAs>?IZS?? 6V??>4>?n2f=?r4;?]9?Ev=6?Z}X2?MY44?6TG?g8[;R?B꧓X? 0]?i+`?|b?7ɲhd?`_wd?"rie?òiz?e??ԐYR?I%`A?n?R ??@*?'I?q`?3t?*[0rQ>mG>-4/8@>NW6>X.>+F%>uM-i>@`>E(<\ >a>P:>y=x -=`l=e֕>9qn>Pi]>,5{>6T>R:>Rm w>Qo> TX-0f>!|+_>IPxOV>ХݏP>g͈?J>Ō>O*>9Kk>Xs8>܋v$>Z[>~b>Eb>]~A>w^;>;>t>2oH>>lzyR>S쾽?}݋?U ?_u ?|2>zޜ>+o}> 9>` '> wPd>ѽ>߬u>D=>Xg<3D?3IY|HB*?'"?T?&~ö?3?A?i@'>.L> BUe>[d>tAd?WѠ\?GS?եDnK?W>IOB?;y9?GAW1?3~(?p6g!!?@x?uyxC+?s ?MPH#?:O`b?,v?E(o?#Ǖre?Ez]?bT?v"L?6tC?){;?='2?;+ +?P!Zf$?i? B3i?xg?u]XP?s{?KvFs?j?\70Qb?dc9PY?i68Q?FH?!̲,A?#q9?o_4?"⓳K]w酚QFcLWe`;&U=hl 'q8y肿%̋bLuZ%Ț8:?c-: RNV'Շ^l4e⟖1o3'âvd"ׅ#U4s8Lđ{CN-C8jO EWݴR( W])cd;Ґk_s)U|?kĄ]j^PAg]U=PY\gѾ)s\حo,3bZ'xh+=q4^shxFSĒ쬰d$WK Gi\h(Jƿn>an`{kfIMnh;ht~ךX}e>jn N;-}˚*|2g%;? ÿM6eY5k %rڱ*yrvցD;*?묝~VIcjٚɬHtrrq۴$4زsdƿJ+j)-j=hGp@}Fu_+b}`eE3/.Ucy0kɦTnDm0w'7p6[)ɿZQI6oxAv:s9SgybtӐY8Zzv´1t#*$[~k9XĿMZͿG4rJpv3&X~}m1(* ~j0zRIz}f9 QAN\_Kݍ)ƿ=P`пgmu|(\yt=쀿/w,gܚ"R 3p2tOUwhKEbmKȿ*nѿ؆Y>x^}1KCy7 Ql,UKhd͡ΩkS3 t;벯¿3y9ʿblӿ.v@{YMDg/S϶J1<Wgݮ ߓx˛O2)愿,|S F2hÐjw@3ܦfsqﯿgei額?JƿE)ϿMqvֿ< LV  E?u+=u.b뙿s{0$D4k_>yﰿKX[Ә)mi$ǿ(}HпS3dֿͣ;VY/07揿kP-zה Rr᛿ ꢿ :Yu橿/ιձwjZ<ǿ&#п&O9E׿b\pd"IkpiНӭLOǹaO}.B⪟9R\`nE|Xȿ6e$п\׿&{|DzrE桒G``^t.|v%U9%LhȢ@rmLT}z\F¿|:ȿ !п̇N׿ )[ܚR(( v}g+Ș,.WȠZ%RaﭿӰ-rHB9|¿z\>wɿCt ѿ<6s*׿]K?w9gR5GVJýB!#Tﮡ_y'\2ݴ.9=٫_¿d_ɿIb`ѿx+ϔֿڨ=ΏI3YkeNbƯX po\]ȃÿL@ɿIY5ѿbgֿY:uQᑿX/ޘL}M^UQTv%{)ꣶٌbo𽿏0sÿ{6ʿ)HPѿNֿ,bǒM1g 0F5!:Jɺp*>%ݪ\O鏱-x8=jvCĿWqu-!xʿXmnѿ7ňyֿDʗD6g *暿ҏܶT},Af׳m rܱW~d~e?Bg;Ŀ")$!ʿDѿ? x׿Z NjÁ$"{@uJr5h ͒Fvͫ k'eۍ?پ7MDĿT0)ʿڤt=ѿLnh׿@2政_JJj0k6զPk[-"ܥ߅^ln"=뿽Z@꿌o$近r7|dUg|⿺q޿glؿӔwgҿ:tBʿM!OMJhB~zá]!qbR+b???'Q?ᶟT?jok?Vt?}_?qD)?lA?+#~?/Jj?wҿΞe4?G#q,[4I(qNg`ho;]*vS_1:);Sؿ8Ix̿|pϱ?R ?0?p/ ?080?5 kmU/[A54ֺZ!ԱۿE2цaVk']?1`?Ri#?Y|3?cA??pJ3޸?)f?%΁K@uT@8~X?mȍ?Я5?VKsf?$wTe? 0?prk?$¡?_?&65?sU ?n(?́H ?ɼD 2Kzݏi]_c连 ԿzR[?l?m]?XG6?:^"?]B ?SP|@7ij@hi|xe@ʉ@Ɲ^@@ǀW?z@?`ǽ?M}?\Č ?F6?Jpή?mk(?˕e?haWª??w u"_g<;kPzo(3J˿U:nA1? [t?j'?q?5A?5QE@Q T@slŏ@ۓX@@Y+)$Q@?uv@o=V@ E?٦-"??:{Sq?G?۫.? ?/??.?@"?xn*_y9M^𿰝5m:E2u?uK?J?|lڍ?n[;b?aڭ@!~l*m@-Y<@9j@j͝_@ᾡ@>@^.h@_?? 7ȩ?4-?ִL?|?`0??߇I?!}er[??Ddmk' yud߿CQ.|&"?1.?o ?T ?K?9Kp@I2m>@Vtm@7O@ `gs@z=@Â2@PT T@@?_'|?_nS?r?l:ј?Q?ua???vv?nx\٩Q? Y#<뿫qq .ٿќLг?(X:??De?4a?@%@lX?LW@@?c~@R/S$@Zs_Q@5A@tr@f#9@NZ@]?a"?'#?G7t%?*Jt>? 5??s\t[[?`N?<܎ږ?}9nD41oi>Կ=ueG?It?5?`ؒ?ń?46?G9p@d'@H,e@Qt@3j ?@wL@~ ~bϿz6?)o?59?VT?g D?e?ޫ?4ru@Qh79@N@q@'gpq@ʖ`rx2?D??d-?놚͊?1?gdm\?'x،?[ ;m?>m;a?JR?o^bO?жW9'=U:FF[ȿQ6Be?RI?&R ?J9_A?e9C?_w{?~\?ɖ$p~?dY4S?# q?VjQ??6?CSA\E?a?0 lP?J1:?_=bd?]?)3Rsw?ǃo?"X?(Ac?6d"K[pi쿮D"cL ÿDžˋ?꿪?uǻg?'4?/J?oR\?\9}q?^-?Fe:?Ix?ң)?j8?9?`Q>?Փ\;a?r`?t2%O? v|?#Vx?;q?b?y2?yNY ?BUKb?ʛ߆NlnGά,vKgܿ4FU¿7x?E(X?2x?k>Bʣ?z]D?Fz?y.Pe?/+崓?Q{1?s`+ZJ?O8? '?g77* ?,9ʰ?2˛*$?JWx?Z7}|? c?R6 ?i?fo?RWnr?M p?q?EZC?Q%.z;H#ڿn˛ĿÛ{??왈\?6rT?섀?v?`bOo?j\^f?@`?R`\BZ?063?fkۓx?`W}C ?-'?l?}-?ͅ/ﶌ?:_܆Ã?.dʿqP{?ֺ(& s?`J k?l`;c?3zI_?92D8? Zǻ?"8?=0?<?U+Ϊ?.?e+L?Q_?{gv?ϗp o?Q`]g?#̬yZb?C?P4?u_>?MsC?xY??xb?D?4G?g5S?"y?er?N\e0k?K^4e?֘-?܍w?A角?oMN1?Ͽ?4t?dcè?-N?.V? 싨}?#At?An?M]h?lP?ɚ '?C !4? HEٳ?˫^,?@?vQw?sv?;[? =έ?e5w?Lm)jBq?k?2E?*>?AӠX-1?t'?O*:!K?SSab?DR?5Гإd?v?lx?Q;"z?OBH s?#;ЄAm?S??A?\ON\?]t?L*?sn$?zb4?Hْ? ?JfV|?lw%!Ĭt?!l5p?޴Y.?kQ?[fU?y}ļa?8g?H?б?iM dЖ?3'??RĿ?<(qL~?d v?ذ'q?d1?j)H?q;??I?O?nDž?O#Y?穸<7~?`&S]u?Dvp?jc1?%~?4A>?Qέҗ?&X?\o8=ݩ?B%ظ!E?>B9 ?KƎ?rDs?UyL{?lV`Ts?ZtLm?y[ ?T6?:(?L[<ٺ?NVٱ? ?7Ge?Tk9k Ô?O|.n?9ɏ%?oN8x?S}p?3pLh?tΣ?j`??,?Dmは?5Ӳ??l?ǸWJ?C:&}?3$Ka 5N C=ٿq[UҿţKɿonm'џbđ)8@I"h8? j$50-û|v"|^ذ[Ա߿ &ֿHepпBExǿ>ӏ1>~j`dSʹ*Q ŬyRފ*ॿ۲1aЅL;S>]ۿm3b۟Կοǿk;w繿ʔ׭w.[0 La%T5G551W$ֿ]xGѿk'˿:{PĿq!5Go&6r.xtblA}P*D`b& C)ҿL|̿uǿ2,¿G[3x7bEx,E*͟S-QU0PmeH/喿.L&F̿ˏe<_Rǿokٞÿa{Ͼ专ϸyO,CԴѐ_թ^ U.Rj+dNŶrؖBƿ3У¿lqrPv]鯹.R#4‰V ]Fn-bB`wC}xrכaES Z-$ xl!!؀v92MѱȍUϭ_;W쨿e4}䤿 f{ ᫚5S12=𷢿Xj|\._$ѩ$ݙ`av23͡?[_ VQ-GjIϨdO z[/T=Q%p^:h6Bp*c'!v4-~VVֳ짓`@g${i ny"}'^1+EPrug{#M~ۙhghNK}k&$@hu]X+I'3aݶ@O6bě%sz](a`8ᓿpG]lgCj.j;awj{**aqY8 6HG2DJOj^ 獿.S#/Nf8o~|8GڿBa&ӿśͿfſ22>Vu ڳ{ɟCkF3 6_Ha]zlN8{M< B~M 4鿭1&$7NۿR! Կ#0\Ϳ\0@RƿW7<'⹿w8*Aٝ7Iz򳥿y~Z妢돠C0m^!3Z꿶U-4JRܿ +Կй!_οƿUsA׎2Q6gBryr4nV* le 8墿 Aɠ$ ڞRa07 nҗ/ o2%ܿvVԿ_3ο?pƿ9:_cOǽ¤dV>o0C/52o {@^x`89hIq5%R7WܿP>ԿXο0ƿ)r^C^sOE@Y5Yi`6 5Z=5PuBRW"ʨ܇i( XHi.J/\ܿ9oԿeǩο!g8KƿaN4H-yd^a-Lsmyͪ^∙sE_pAǟ/~].;j쿞#eͫO~ܿ"Կ)sQο;2Տƿ_ ؠj4؁OaÌOnɪ!y|or O@Wnm"$`ͯL#!lTܿ `DԿTy)hͿE~0ƿB广&\^RؘdGneRQuwbtw4)b1:[3 4KVСJN,Aqڡ5ۿ~3+ӿd?Ϳ"Űſ~*{>syUjY^ {ATн@^m|l&EdzU\2/D}07bVBlqP⿞a+ڿӿ?Q̿vڈ?ſc\-(‹Ê^pyͯ`;a>/l7]yPdXz[7i|6cQ4g>ؿ.#p2ҿ5? ˿-m[Ŀ/t30QD,MDPM!E!X穿Q/GU>U8DYIʟbk,ƃq|T࿤xS׿j Hѿo1ɿ7`ÿf!dzz %ԲXdҐ\~1>dcn 0S;-Wb矿DN%Y޿$) ֿp[2(wJпrkzȿ6Z¿\ж ñAL ul`!բ) 2SiǪnw`l *SۿuԿZ4οFؐ.ǿ9)ֳ 㓅| Rs#*Kz mmA{٠)k^k~Eů}ΰy.Jpٿ~-ҿ'^̿綪ſWp7| c(N"IB;&⧿@AIuئ9.NҶ6X<%߿+69ֿpb<ѿ`R:ʿiS9Ŀ^ꚿoz &W!s^-srnv`_-e8?z/oFZCrc3Eð2!ԽvۿWԿ UϿ?jȿ¿6Cg7-I^bE} ,@e!ylL ?R9L˛PO.%Ә]>C4߿PgbؿR[\ҿ[g[V̿hƿLbn(lKBK,3C,/?pUۥ{'-f55 xUQ "J畿I!,9_8 +Cߞ蠿Kʤ䰤︶S^2D%_ǮkTd;]]$ſX˿cYѿ1;ya;x%d][|Us-ţKVkP'O?MԲ 3*qLW, ¿;i-uHǿ̿YZqIUZ' *hi0,Bj&c=l%V3հGȫkh7$.K8{O"g WHzÿb[xǿp> Д1p.䬖&܋A8\ yÀ"Z4MSx绮GXOnP0.d[VZc ~fÿ0 0c0`Օ*1.`KS꛿IH.m<%(覿qcoU쯄` r!j1,ϐ?íLBYL^x*:%:!O1 #'N)V,%6'AKmB 0ʰ\_◳v-M 㹿`EaȒ{+ {앿켙Z1w᛿#=r狢$ᆥ%>7,ᬿ# [鲿gyNxz?L#$tI”ܙ=APșa)?Rr Ⱡ90.ܥ9iO Bo?Ư גe`.Nˉ7y9痿-#Pƚ,!w} }='qNȦq>ܠ謹tR$Őۄ KA/MZH1*B$nuA֥D pӄEnuڂKJ )+G]6~.x&rޑm2,gl۔>ؖ%uлKRu cݡՠ*0+ԟ UJM|썿 Y%̎r9 *{0萿>mVs=!4#lLiKd)ӗSuһOZ.$ }՞!UԞxH>L~k@c]xF=+zӪR<My ~ 3no|ЙܼI"=֞ 㥋!)\q](L!2j <:w>ӳRC"_BMtVʵU0`tn,Hgo q Ч(zI,}Mb`.cf>0_oT;v*]v'ˀ㢇jڈa:Nm ~} YٍFKHT3ggVkȕۻpPgmq[夾7Ԟ#l6h$4h4ȾU-GҾ*C%۾H&J' 0/ڛ/sJ)X:UNǾ-о+[)ؾʱ]WEI/jy7d*,pƭ9|@r iLzj!t(֘P[7龪rρFz"wP1_6Y"рb&&&lfu?r>XnT>|~f>s g>V xX>*0`ʡ>>*K>d>>u4>M>^܋>q֦>>'&ѣ>5>*K>>W>l>&ˠ $>>KޕD>pf;>\G\>h?>6K>F[>\b>O|>9},>g̻>m4>h$!>~,>۷:#>T?$7H??eMn?A#T!?z%u#?8jr!%?@;4Q&??p'?!F1'?Y&?ޏ5&?Vܹ$?L+M_*#?S !?Oӵ?5,?Dۼ[2?yE>?gSvD?{F0[I?ahM?4aP?Ц"Q??VKYR?B7pV~S?M\YS?"K PS?\R?/bG͂Q? q:P?:u?L? ;H?2A?`*SW?s}b?ݫ%i?Yv]n?Gq?lI? t?%ᝦu?;v?p]w?)eFFsw? w?mv?)t?h0r?JIp?A䓯l?/D!d?@yw?BBi?إB?Bų,?!kِ?>Mh۵?KK"?_ ?X?X?ZFP&?Ť 1??y7#m?ٙ5?]3O?4}sâ?HX?Q-?V?E ?؄?5?ש?t|??(*?7nJ?GxX>?$R걯? 8?zk?Ўn9k?<39?} 뙢?4cƮ>\Q(p|>+U٘s>3 k>ܩ=b>94UY>maQ>ͥ4H>@pi=UA>.%$~8>lZؖ1>(&"O+>z>:>Śeи>Kzd>%/q>W DX>_6>O(m>5C>kUK>e sv>9,Nq>' >Կ?o,c}>t>BeV>xi>7I>k>!_n>a{B|>]]v<>.DV>K{>#-?s- $?V{?I[/?" >߲>~>5w>?ԙz>JP?F?V!}??&j5?n/:.? f$?`??I' "?IPԕ- ?=թ`?tXK>i~H>#׫l?WV4ic?c]a[?Ȋ]R?ь +J?([B?M^9?_mz u1?$aRs(??Z!?~1cM?/a?I?jd*%{?s?r]j?)&>b?cOCY?%]\c3Q?"dH?|A?(J8?-1?50+?202#뻛8KBl8zLhZYGV/.aEUmjCt}5~V >dk^T)2.w.2Of]7׮8kBbBM;2`Va8[k mu[]#SH>J:3RNXc&c!@$@Qmj] `[*Zl=q71x+}$ZwyY+Lcm$>?|>fg??mh??Վ;T=?*XC6?ty2?9 2/:3U{+yhCrwo&drϒ!L?N_2P?h!3R?r`tU?FX^Y?6P\?})p^?t#Ӽ]?B}*W?tyi)6?/bϠ~_-Ay<?fz<#h?41 m? DJr?Zw?9zQ?٩?op4?]hS?F|W?D0I?TcpS?g{ i?0!p?fpks?]+x?Hٲ;?br?aqkIj9?"Oߓ?jK (?ZpG? 5 M퐩?ڤ#?, -?Bst[t?aRy?rt$?ee%0;?y?'SV? \ry?ڤ9?lKq1?;Ѡv?&6qC?Ԁ؍?Š[z?SMM?o 3O?m2ۉ6Ɗ?7J?Kٚ?ڠ?>8L?v .?é?D >?©^?j:K?jm?;bԈ?_Oma@`?$. ?U<?]1v?›? F_?~]ݻ?\?t6{?;~?DY2?\qȝ?KfZ?xZ>?s6~?z? 4 ?q?g*>w?" N?1harpk?SpT?{$c!? G?'"3G?_~?StȽ?A|?Td@??Ԙ?N ?ёpM*?O;o?hdH?K@VW? ^z?i ?_?SgC?Tgp?/k?lҚ?NLoQ? PC SѦ?h x?8UQ? 'ײݻ??W+?d?qE]O?Ow?VzB0?,%@ߜ?Q?Hx҄@?)W%'?"_U?f3??h({?Ate@1 P@Bp8R@PF@(C@c$@Fog@k@;Xq@Gzk@68}c@߰D?:?/` ?y(?XAN?U?4P3J?'AJ?H?ƈ:?ɱ?< , ?!_E?eG\?Un'@b68u@U:@zI@] @:dž @aI @#@1Ns@3*@A @ŋJ @*,; @`qGͤ@gg@\@~=ٿ@4? ?8?b1?΋o?Ik2?t?ЂɕU?ћa?V ?D(:@ѲNZw@@# @b@Ƌhs@P-@py@{<@g7@5*Ct@F@II@ ޳@%9 @Xֿ @HF'O@|b)n@sej9@x:?=A?<2'Q?})o@E@$4@lݱVkH@SF@2&/@ŵ@۝ @Qi@@ج@fʹ@ m&@ޣ]c@32GU@}q%@(<@ssxj @@'yQ@dJ&@zq̏?5A0u?~w[?߹}.N?v, ?vIj?@@R/@)4mA@O+m@ M@h@Xy@ ep@ [y@Hr@]?C@?~h@yu@@I]@͌@>Y4 @7old@h@@O=@@`*@nYm@D=@@3@Dχ:@@ %h@0-@c!̻{=@G$0\ @@uW@2?Ɔ@B?i?c][??'F% ?h`~?ӧdۑ?"@d@hi@7 '@ @˅^@P伃@@>@o[@e?S@M7#i@\2e@5J2>@DR@ͯQ@! @֓U @C@<@e@sz _?De&?4[P?~($=?5jP?Qm9#??]74@}ޡ@@0#O.@W5UFK@"8@4L"C@ ;*@E@IS@DM@#@ϐU@Fv@vmj3@ +@ !8 @{9[@R~@9x.@??VFE?}$JP?5ܸ?^?gh?Wlۏ@:ܖ@fE@>3-@ G@Sݪ@`)@#Mþ@'rnR@cؕ\_@ЛL@>+<@*[@@r#@ӗ. @SOY> @yq\@|A@k@IVO ?$?>҆?i?Zc3-*?%=+?k`?m]׋ @3$@fcz/b@;]@<1`@h#@ eA@t@Fq@@]@ @@(&@Kۑ @XA @+2@?_{3@>e@TkP@Y#i#??9l݌?z.b??Eu?H!?IVh?of?/4G@~4 @htx @c'@fV?x'@XjU|@0mM@f_y@!,*@iX;3]@b@ko @= @@pg@ -,@٘nj%@o:.@׽p@a"~?SYU?c-*?oS?n_?Vz?nY?s?.̆W?@y??Sr?azi?ރ*c?ԑ/Q{d]?$ "?#!kS?T?\?;_8D?bՒ?p *?,.S;~?aŋ Uu?$a3n?^~f?ۇBka?l ?V:?DŽڑ?˛^Ӭ?,Q@ʙ?vo,j?{d?,?7 )Lx?Mi3q?J"JFj?^B`d?+3熿?o{}K?=(4o?KZ(?\dr?I ؅?$ז?`Wv ?[F)6}|? kyt?0Z9bGn?O8Qg?s6 e?hѓ?~LW?k ʧ?3p?$z ?Cft.?d_n?_{o!?zEjH=w?ݎ~9q?޺6j?Y?yS}-?<@s?W2}7\?iOc?벙?Z?Y_?ɣf?/|S z?9o[s?4@n?pN-A?tݛ?뢴?Ȼ\ˬ?VV?HX{)?JEǓ??/U?1d|?IKu?`Yp?-.V?94:ſ?myV -?҃#??o?VNäm?v'X?&Hΰ?:?z*aw?{˒r?j?~?ʒk۬x?Bo?5?裒w8?bQ?}Bi^F?"E[?`I6= ?Sy?c>m!Bt??h;s?b5u?1+?l{L)?5v6 ?xO[+?y =?MOڈ?\xџ;?0{{?XLu?9|p?] m?Gv*9?8?Ta?&5?D?d:z?.x?Z?2j? x|? (??.?M o?%?]?Jy?S[?2ۀ?m"TG~{?>_?n/[4?ꅟS?ȗް?ȃ?4?w.SK?n3u?O#?7?0r?R|?U?˱?ծ?i}ܵ?cۈ?ld?#Y~q?`$? n%n?SWm? S?p?6}?#(a_?fT? e?fm?{q?zuݠ?s?G 1R?RF? T`?o[B?q?aUʁ?x 5ط?َtjt&?$B?|ĩr4?rj~>=?.?7vR*Z4?`ٍ?|⏇?a?@?f_?v?#Gj)?/x?KB?dz'N?8ؑv?3%?(?_?ɐ4?@tȀ?[4Vj?J5?J ?BQ=w?*p?6Zi?r3?Ou9?H?=Dw?fs?_U;?.0f겮?0oAì?02E?$$(?PzS?;&?\(C?B?ő_v?V94?O!2T?Z׊\Pf?b+?*į?*f?W??Oa!3~.?1:jB? VØ?ԯk?]WQ??1E4c?Y#f?b ݔ?cOv?{[8{?{x?.α?(J.GZ?+ə?`̉?|< ?BKX+?{ b?>`(?\NQN?1nsi?R5?Q?31t?χ?3Xf?TN?KPY,?MqM?:[/"? ݅?ʫ{T?T?2?@?*? [n/?(^ƚ?#j?YԮu?/N3W?M?x癳?S? Wu(?|P ب?3E ?3b-?yY??i'?VI?Fz$?nz?í?(TI?[4,a?^D?g~G?H}޸D?9C=? ߱鶟?࣋f?6a"? #Fo ?/7? Je?oZG?z?*?G?eCK?^٥?zo&?FaK? =–?}? eE?]z'2h?ibyp?Di)6?CH'Ҡ?}DҲ?A3y?' ?TlBܡ?]O#֜?-}?c?g- ?0`FA?]Xm{?Jmb3?#j?u[%5?t>x?t?dq@]?Yyd@?66Zۃ?rY?fm4?+X? ?B ?h?d/?t?ErI?CP<˾w?3Pc#̜?,{o/_?mq#c?䴶?1 ?;焷?.h, ?xi?hRȨ?;#?0?0?nz?)ŅT?C®??zXdi ?SkF6? j?E|?Q}?Y;?WN VV?f@+?9Jʙ?:M? iR? l?~9̀?p>ǜ?-x Ȱ?I< ?3J#hl?]v?c&V?;??Y7]ʕ?`YR?#)=?.I ײ?59?6$`E?VbD∧?>x_-?LJҠ? :?*@2U? ? F7?I:c֐?ӌ?Sj8?[?U9?4?s/g? o?A\k?L[?D?{Z?.(U?OZ[ԍ?̦H2$X?譔{q??m"?WgWe?D5@*?^*x?&^7Q?˞۠?TO|+?sxX?t$?;? F/h&?Шf?s>D?lb,Ƙ?"?.6Gג?'.q? *P܌?I+Z?-|?&`&*R?8 ?/ҏ]H[?Oؒ?uj?M ?w?P?N#@?Ļn7?z\?S?rxP?]f?0^p?,yY? ,ׇ?S+q78??bq? =t}?z?93x?@:e?:?+^b?}f?$/|B?~?=fi{?kꟕw?'Fu?*cs?q@yhq?fIJ2p?b=?JK?Z,?G w?p[?gC?'-s?SaAh?Ś?)?NC?S#=?Qإ7?l\d?Eid)??㴌?8*1?87t?w6Ѧ ?r?45?}%?'!%t?h>ƹ??5h=^?!Vٱ?//z?NS,?>z?l?5+?U,?디5>Ґ?|Jz?Ĵ/?.r?6?t2?[?I?λ!?q{dm`?q1?wo?nV?B?8xԚ?'ې?qN F?t?%*B?8q?[kt?P;?VdGNG{?Vt?N?Fp?Rw}}?f=?5?<ǚ?%_֐?q?Wp?M|?(''?5&?Rղ?3Q?k5?:?0|͏̰?P0U?Y0韢?E+x*?oHm?0o,?G?w/b?IH?`)L?FN?S? 5?bxv?pNx?)m?t)ը?8'DK?N?Bdv-?š?f^?c ~?#Y?ِ*%-?Z,??lp*?kG2?(Cش?hIT?,d@?Z?^r?.?&? x?o&n"?xlI.?6\G?h?g~?LR?T4?}j-?5a&?[hC ?fmĖ?d\s?7ό?Mo?p^?@ GG?3/۾?gV? ABnr?>O,?iN_}1?SZ?.U,?L@?`k?&y#?42?(C|?i;(?$pLTy?~͵ۨ? B?H? L4?' [?l3_?W ?܂ǯ?FX?3\? %Gc?oYf?t0")Z?a;Il?ZE~k?Ѹp?+jq?O?xP?J2w?! 9? 1t?$?AQ'?K?Y ?,?+ A?<}o?>c"w?M`4?`ul?cLݖ?XdJ?"YKϜ?nK[Ơ?(Cӣ?lݩ? 3d?s*h?R'A~?+,3?g&?ė)?;{M? l$o?9'?8?=ن]?;|0?`]'?ٲh?dR]෱?0 v?q-}?Nf::d?7t?\^l?-?"5?m?!𙿢?Ox?œf?WԍV?aM׭?zgp?cb? 8.?ΰ)M?Џ]??Q?~S5L?m:ʢ?|?+/HE?&Oɋ?O% ?ގ/?e3?/? |?Ϛ&?iqtve?N gJ?ݏC5?ȯ#c?>4^̈́?ʆ?{[?)/?u?q ;?xu?HX0?Q?vj?Ȝ?Bx?\ռ~?`+d?xB?~(y9iۃ?[?B<KT Tl^5 g2qs!~> @>rn9>(Rb+u>d>Y^8>2a77>m>MuVk>u>iڧ>oߡ!M>z%9B>2ySi>[h΢>ԄHq>y{W>{ƇJrA>76G%>΂ >Mhyn>v&p>фC>U>)V>!6I><>bZ.> Cik>) >g>)$y>),2w>8E>ۍu žQ4>qQ^S ?\f$?q7?^a ?r"?gdjZ$?uz%?+]&?**'?s'?,&?\3%?j $?*,F0"?zB?D?tن2?xseb/Ѿ\I(? N8?nA?.fF?XfًK?k^|O?SQ?NR?tQES?\S? US?A( S?zzR?+ϩP?us+sN?U4J?AiF?w:?HP?ݥ%ڙ^? f?ԏfpO l? BTp?ݯTs?¨jt?2իEv?Ҧ w?xw?BgppMw?uv?.#~u?~n#s? q?:o?w2{j?iI?wap?%}?b?(Cc?%6q\?^*(Ց?# z?*G?ig?1L[f?/o?Ԝ?(F? ?œ8?(S ?qP? #p?d]6w?Q}?74?*gʥ??@?X@G?r7y?jJÓ1]?M4!-?q0P?/R?  ?Jn;=?q#fԪ?C&?žu?*8!?:e>фK8&>މƒw>dFp>.-wf>Рeo_>XyuU>n M>@SeD>wD=>b^}4>7h.>Ε(>R뽡>Nzv>5on{>`f@ܺ>%`@u>'&}>/0>Y(iؒ>rU9>>k|ar>Nimz>̨ݢs>8+.n%o>e`?17x{>T9X>`>}Ee>.i>h]Чʉ>>@>eb+>lva >WkpΪ>&D>rSʔ1?9K*6(?BD ?(?U#? ?=>Z&>ѵx>PY>D\4>ݽ.>/4̈>b6kS?:'3OK?Ma C?qN:??*}y-2?")?KjYe!?jCha#?l?vY?? YEs7>'?q?z>g?v2໥w`?A |V?YVBxO?"JE?imy%>?Gi4?/-?b $?ZSG?~?Ĉu?x.?M3c?!B꨺v?nREo?Te?ץ/E[^?!s$ U?v48M?n:eD?I:Qϓ6GEmqQ~[;{PePwy^pdvydF%9a,<#.~ؕLԠ{)ǫ 2'd[B=9GvՉAR#\օyffKbgq OYzAtἄh ؏L`c!Ob,.8CODfًP1*,,.[Zψen'#-qi0'9zP@ ? >?[5??y%>? Û:?KnD/?ke4cJ3`vvEq߁;J(>pZغK?L)S]oN?dPYQ?u=T?3_W?_o|`Z?ؤ]?h^?dtr[?*5vq-P?gC=ooW8 ʃn>U?^ Y?H]?u "Mb?uODf?l?(B1r?4nv??H{?WfFȀ?ho?[?X?;k-`?1ob?ejf?l?݇r?]zn,x?d0?N7X߄?m?,Q?4jc?B?`2?AD?'eaf?[\Mj?JC9p?-.t?7wZt4{?Xb?S]9?3NhO?Zt?Yp?&x?p|m?=D? ¡?WP'9H?oPyu?V07?*/?6ǥ?E?[?ԡ?f,!?b~v?Ͻƒ??0%(?6LURf?vr?JbK(?j~?Lŏ?=Q?P?Lr?3yl?WQp?մ?&س?~?3p?L;b?vp9E?vȒ8R? ˲?Oѕ?<?;ؾX?Y׽o?yvJNa?T?> &ܾ?MC?}v?hC?/{ƺ?uY?\`r?ʢzܗ?Lۢc?͸?֣?&T?d0??+l?L71OV?K]%ĊK?]jؽ??vǠ?7$?Y0%?,QV?A>tk?wȶc?U{?P]?_&E?=GfU?wG#?gPBO?γ?*df?(e|?4_?5?nWG$?̣?}(֨? ? .j|J?̐+?׎ ?9{??t:`Q?o ?ߞ2>?/?!$`Xt?Vu?X~z?']?'.?Ϯז߹??MvMT?SyăI?v/'R? m?QF!O?3X' q?UV?*J@T"@S@h$ :@Ј[Bٔ@.f@kM@dm[ @Kxd@*@i}L49@&iMDž@5Ȁ(v?"?,.I?2h|?dh??ϩ& ??K k?kK ?[Ok?X?R2 ??Tx} @?8@+[ˋ@@_ @  @yPd @~Vv5K@;QV_@3:Z@1/ @"k>O @25 @ӷ@.K@Ʋ>@$!@;5?k?R??3:-'?|L`.?NT(?̳8^?ag??Q:?5$@A S @4 @u֟+y @ڍ'+@vET@2ٓ-@*`@Z`@gR쏩@u),@ h@vj@?~@9AB @O$( @}9 Z@?F@f @oi?SvG??A+2?=J?qr?d?U'?L?#'@ @C+͑#@Qr@@Tl/r[@|c0G@?R<@1ْ @m@M<@ +7@ˢ@S@ԙ?@ӏd] @1Z* @A]z@G@>hng@ ?i^^?/S{?w;f?Hx?jQ9t?NC?3+Y?[4 @@K@Ӹi@ʣB@~l_@3W@0:o@6U+@q6@m\i@[*dA@4:>@@ǘ@@6.e@JAD @o @wd@S)y1@UͲoj9@ ?[L9?XI?gd?׎ň?U2h?@q?-$ @۩@|CQ@ʼ@t6@.[S@Y@@Gu @eʍ 9@5NU@ ~z@BKrL@ ۉ{@%@_ ?)@Qo@^9 @? = @"GB@/@ ?A?ʱ"ݵ?⥑&?D?y̺?@5@!euu@K`@ y@b0H@?@ =@>e(4Ǵ@XA#@>2@Ͻq>@|$ l@|@pcC@x@ x@t*@jՋE @6'P@h^@U@Q@{B"?tWB?G?Z@%+3@`+;a@}34@ M@<7+@T#;@A@jL@%h]@Ny#@=,V@Fpޥv@2}@]ŭ$_ @BJ @K9E@bq @bكi@ٛC3?V:?=?";??k']?B?(@rA{d@B@#V:@{FN@TE Y@Q9/g@ee@{WƗx@7;@*+tM@RK8@" Ϭ@@ @KqV`@B@&*O@:Fh @{̜X@ŮRr\@ܞ@d'w@ibS.@(?b~]p?Cz:?Hr?1D!?d=N+? XX?-Ponh @44@Y2@R˧@\"@kUGo@J9@NVO@K7@@M"H@ux93@G]P/@7͢@]K@ H@ t# @U @sY@A*@jf @@o?AM]ο?/bo}?^?{{a^?9aa?ON6d?/D?UTT[ @ho@Q8@q@H" @}@?ГA@Z9+@@`sk^+@͓mx@ )@ԏI^@ɢ@4Ab @B\YS @&v@Y@Y7P@ܠ')@\/?B+i ?w?n?0+?.6tj?R?Fܞgf?mg䟊@r- @iS,j @ZBpa@(c@v: ~Y@ږXj@}v@BrlW@F@>i5@JcZ @ zm @D7 @tb@Rn.@I"H@^M-n@`퐨t?i?ɚV?Ga~?Zz{3]?rM5 ?;Cu ?m5?ex`鉟?$ ?:Ϩ(@K_@iɣ=8@P#@7`@wR @?n. @mLu @Xf @/c G@@?t@`@^_ar@Im@xp@Y<|?=t/?xl?Uf?>%?7%%3?SĊ?"?C?|?]E?{|2]?I[?g7?0o?@;x@x#Q@ؼ@Ɖ@ҥ@ݡ`@4l@W*`U@-uQ0?z?{Ȕ?/I??rj?: ;7>?yOn??<"8?P?5q1?m?GU.ؓ?8XY-#?Vc [?-66?eӡe? paі?У?Ky?gʥ?jx u?a|ׅd?=Py?{Jq?72Ůvi?ǑMgb?)`'[?–(V?=2?ֻL?Z?H`?nT?y"?ӛ&?/~?L 8;u?5n?\f?V9`?򩚺Z?ɼ?b?}{+? 8B;?\Y%?c??z8qډ?O?|\y?%r? Uj?ƐWc?-_?00?hN|?G#w?<2&@?5g?y)A?a?UR? '?N}}?B+t?_8Orn? uf?B!ub?z9?u )`F?‹:A?E_?Qh?Wbr擘?MG%?T ?st?Nx?Iq?]¢ {j?"Ue?}J4?;SK#y?~?h7?ndxڣ?-?s=V?B?{!?O{?Gs?݂j?X?J? `^?HDc?gZB?IO?NK?TS5?o \? j &~?t8Yv?p?`)}k? x?Rȼ?pEZ?i;;?|?O Ҡ?+op?ҵך?=U?)[M?αt?x?L)r?QW8 n?$(ɍH?>]?X?S%f?W?a)?9?"?6E?Vz?p Jq?+M'{?0}t? p?obv?>?|Iۭ?6٢?$-Xuم?" U?>? 9EbJ?$!?Jo ?&hVl}?jv?ޗr?w??5$?Խs6?>H|?b(bwˬ?"+I?]1?鷍d?rP2:?IE9?2?!l^x?"/It?\Њc?iM?W?î ?Ҁ?pw?GН?۰J?=?>3f?d&8/?kz?>w]|u?fhf?E_?l3?b^TD?42ҹ` ?}Fi?`ؓ?*H?Gȵ7Տ?#f?7ק?_{?5 v?8?` ?oƽ?6b<#?ڣb֕?TF?.Ѻ?10eze?oY?ҨRE8?[8z]?Ƿ|?KH^0x?>e)?#J?͐?x?b;¦?C?yGr_?X7y?ϲ]? .P?xވ?*<~?.5:~? ›oy?9AGp?Աo9"? z?i Wӳ?C?Μ&A?=1)?]LO?fϐ?-1_?,.a?F~l?OQϡz?^p\? g?`zk$?mɾ?lNmx?XrE?kj?Em?߹&?6É?x#Fba?;lnG?FCD({?jmt?`l ?L? ? w }?k]:&'??"IW?vb`?,i?g VO?tdHvJ?"?: >?{ҏ-t?g+R?ȒR?r?U."e?Gƫ? _S@?\,wZƫ?N?rN?~m?i9?ѠHb?:X?7Jt/?Z?:&?qjɶ9?IOU?۲?8+\q?hr?7e?#]?CC?dqO?)c?|I?97?k_?'\c?[3?ePk?[R&?GZ?|h?)9V?k"?ߡ?j J?I?%bDW?\?_S ?R#sp?b?w(I#?W@Vp?fV?-?(Ҩ?ylZ>P?CCK? F/?cN?1V⏒?F玓?aqX?I=?mޏ?@v=?“*?S_e?tyo?/<{0 ?hd?+u01.?),? _]?.;<?c?b?,cj'?*k?zʮ6@?;Ă?KߋE@?P?oIy'?_ 4?,?NH?蓞Ku??f/?Bb[?[c?m ?8?rl5?S`&`?47Ρ?Gtc? }?[Pa?wX?ӑ?!q ?]&s%!?\G]%?S(J?5ˎ?9qR?n7?aC ?hDl?CG+?f-? -?ܕ?P?5G= ?x.?wz?2ņ?{)-?r|?S)?]"Z?g01`^?ZkV?}?Hdl?qNG?MO?tZ#I?i?1uab? w١?m? J:Al?JD?m%cr?28(ґ?,?>&:?@?? Z?غ2ʦ?P8,wL?8`G]?v}N?]mL?u?yS?v >?뮂?u?r?5HI?€?ٚm ?"?MY# L?FЋ1!?ʧf~L?Ǘܤ ? ?V{?0'?KQ/?5"'nؗ?֡Ǝ?aUI} #?qDA? !(?y ?4?MpNQ?o 3s??a,T?9ENX?Vy7? 7?f? Q~&>?eEu?Z1{?8^j?g~*ޕ??^.N?BZ ?Iֵͯ?i>Qa?eOa$b?p~0?6 r?b?G=|?}c\y?0;x?B?E5?cֆ?,.T?WoO_O? V@?Y=k|?HVZly?PVWv?H%j t?GO=1r?r5p?So?,,T?ىZ?]?3IX\k?p-?f ?!b/?ܽn?C?́+*s?4\?l#;?]ꚁ?qO ?f'?R,>?MK:Nܬ?oY"?JU?ȜҌ?;-L?&?n?”et?ًN ?C?=?xf= ?C=?|C?>*B ?ǙD?nH8??d|?[Dc?V?ڃZ1?v<2??CT??O?*; N?=Y?K,?v>M?|6&?eJAyVP?G@?l?Hx? %]?'H? p(+?([?Ƌ:-?/V?D9{?@DBF?^#?a"Z?Et~?bL?(;n?fz?$+?kd5_{?y@ECȤ?JfoM?M1?@I?k?!n7?9< &?W?wm7?Uf>|?%*?/?T] ȟ? >?'H?PcA?~z ?-7|q?ID|cC?}l?2N"?8魃+?e +r?z8Ф?,V4?-k|?! S7?KD5?Lܪ?#Ӯ?v N?<@Q!?[c" ?~qY?_~j ?К݋?Q`ۘ?i/?Ft ?a?@K&?(?`,5?[Uǟ$? F؟?\V?%[?5?ڪ?{?|?06f?'`?Λy?C\?@Yl?L" &?5r>??VǾ?Mj?5H?"} ?y ɸ?->@?V1Y?NK?|?)PS?Nf 5#?N?j*?@Y?q3?&%: ?(a,?Ơ\-?Z?`Wx?67a?A?M?|Hcˆ?(?հGc? .I?2?@-?ze?b_T?mE-?4 A?Q ??m>?\*ƣ?,ֳ?m^?έqB9?'?t?ͮiIFg?˥k?u֭?CE?^xP<2?~?9[0?Ʃ+?灳?#7d?J?z`1?NFΛ?̒? +?ηE?ˤ? Ё?-46?RŔ0?5o· ?j?yN| ݞ?\$.?<.^v?{;?D]?UJI?<h?qؚ?uq.?\KE?n,?_6A?7Ey?mł?v l ?pnU?MRz,? ]uR?=G?5u?)[Z:?P(։u?'A?B? F1R+?(,Ԛ?"4?n.稛?ަe?g0?N?ܙ]?$4,?Nvg?eC?h 2j?lw?ϪV?*[ %? %wQ??扣b? ɡ?6pz??)?1jr?:bQ?iη?G:_?|S?% =?b?"J? p?Ŝ??{K?`mYˣ?yI|?ȥ?.-t?L>?B?C*Lf?c棙?f6]\?Ġ?WI@O ?ץ~?'5? ?T?w7܆?)^I?n\o? r,S?@N/{?ֈC?@쒟>? J+?Z`k?f?p V?|t,@?C;tfj'?>ŮI? ?wFJ?P?cۊ?e,I?lziÚ"?@Fbnc?6Үߕ?2?x'zZ?6?W [?`$8}?#i;?P~?(M8?αX?lD?U1GT?v??vvHn?ԋב?DM_l?yaq>fx>^u`~>&mgс>S:>/ƅ>}=>W‡>+t*>4(Y>n3>j?I>T8>8́>Y~>R>Xg>c#L>[BV>c8>[07>x网>#;{>5P>40>ڷi@>>X >Ϥ?d>&Ti>%k3/>_>>SS>@+Q>^B6>e>K?J?] ?V. ?8; ?}~?|d@<?iNPNV?XtI ?p ?6l ?NY/[??,oԀ?ļ?'?-ӻ$(e0?v`_4?V7?fr:?Q{P?|??On?f_hj\?k`?nM b?v++Tld?䐗?e?ۦ9f?ױp5f?|Ge?re?7_c?$b?1`?1}[?p:eS?3)wh?ڮr?q/y?W~?mĕ݁?;|?p?~@J?Q?N?ۂ-٪?Ua?EuqZ?7ث?Ce?Ms{?|4s?g?Jmm?>?^ 5a.?@Zz$?Ϩ?-K?)?(G9)?Ƌ5_$??H ?>Fߡ?ތ0?RD9? w?-Q?fK2uN?ad-A?V?hp?dP?m:AilC>xލ`|:>\-j2>Ml)>s!>BëO>:};>Ֆ>f=>(L=%M=&r0>N>:?龔>ǟ>NÃ>vO{> y%r>vt?j>(~Xb>G|bY>s[?QR> ˧L>>э> >li> *r>#(j>i |8>ʈ>e<Ķ!>^>l> >Uc>OO^><y?*Cj?.K?K%M>~+>YK>XIJ>½>Nas>et>qN>ͺ>MN!@?u}C6?$L$.?l]A=%?g'1[?D&5M?E$޲ ?S-?M1W>c>];>R>'*K_?1̇U?.:ON?6UD?S><+?dGM#?&W%?+x5b,? ?rPud? ~x?Lp?#Ifg?]R-`?dӌaV?wAHN?{E?}Ӈ=?di!4?w$b-?5%B%?9k] ? 6S ?g,w?}j*Q}?.nƊt?vol?A"IJc?nV[?%0 S?qJ?kAB?;?~ۓF5?10&|B8o`?Bp&=K;0eU˚^l3i`H9I ie/0s1?}*E@> Niᐿ;pUm5d0RSxr[8p,B\Ŷa HM V]='aRdek|)uD5^H}҈7f6dߜ8>F+ z5٣dAEm\L MrVWC0a$q#Fk) ?uO37,ct9j3)Oa='Q&,cyl:G/xStYJ`93i5ptfOGk͉zGi''QX X ?Ý3@/%TK:=\IzWW=idk^#q]/|өӆspppFt13?&:M2?d-?CaV?d]3al?axA`"lTBde_rѮ刀?H=r\;K8E?[lG?еI?yb|ZK?z;M?}K?n?|D?@<?|_\N$P=h'UwL{.|:HCR?ȏYU?P LXY?_ޥ^?2Ɗb?mf?$ĽKj?BQ Mo?س1Tq?x'q?:8m?jV]Z?$)*\?f0`?&zd? +j?!&b$p?u?P1={?3l?mbq??Fbn?!F?{. njd?6Ēݜh?g/|jn? Ks?x0-y?L 7?26 ,?zi0?0Yk?E7? H?b,G?Ю l?p?mu?Ƀ{?.?[<?/ې?jΫ? 3?uG?}Ԏ?9nɳ?շbcfr?OuXv?_eߛ?Y?Pע}7?HG\?Te/J?y?9![?`3:t?7M*?%z?\{)6?!?&ѝ?26?|P}?KVp?u?dw|Fe?^#??48?t N?+'?+1W폙?qo!?x-N ? 9(?<?OXt?$4?78)?fU ?y>[?Ze!bq??zU%?!B?ƫ!?|{?Wp?κ?Ըi?:!?o-^?/ul?nN1O?DS1?0K`?/_`??ԝ?oAsګ??ޱ?rD)? KR[? 2Zd??=)?;2?ιPÙ?x _؝?In/?cB?B =*?!r{?\u?@7m?x?9 KTr?k;?mC?Zn[?keJd?9z4?1h?%В0g?gLʱ?=?b:dҐ?8R?yBc?ow+g?/ޙ6?/O?|:4?ķ-?5?T@v\{@D}4J@Qx@Z:@ejl`@#@C@@:D*K? Bqt?(G~?[T?/D2V?5n?v,`?>?Zx? %?Ҹr2???պؙ? A?Mի?05vB?j@1eI@'&@*f@$\ @߳a( @Z @(O> @ K @` @%x@VHr@qK8@?@|K@?x|e-?f=?+ғ?_b?HiI?db|?,м_4?t? 44?(?C@@@jnj @gef @</Z@s@ʫ@+@(@@E5@2@yO8 @n* @N_@K5@넾,@dHdLj@1~?\?<ґX?u:N?8ן}˸?_X?ֺ4?/ K5?; >E/?4@(Q# @՟%@3@eb3Q@ (a@n.S@;4l@(c@'@?9R@[ |]@2C1@ҏ͸@h{ @u @~$@{@-@ɯ??)!&?S?֒?l??w??& @ dB@@xy@@l(@y<@49k@ՔbSK@C6@z"ڿ@@mK@=d@ y @!?l@[m  @)`إ @aTN@P@S`I@Eܥ?=%?˕n?2Kf6?7`?QE?ۮM?B+@wY@@J7@&@D>H;k@\ qG@pCW@:FƠ@6W{@ES @/@VI@ba@<@vOR@k"7/@#z @ 6% @QTϥٹ@:@S#?td?3R?xm8+?S{?ߧ#N ??!(?%Xq@' b@Fg@窖@3:@FLvi@}'j@J,W\@3tA&@n @&s@=@Du@5NbO@@[.5@{z@g @LҔX8@5 @u8ɦ@KV]+?,p?To?oE}]?)? %?/A~@&@IH@rr@p{@q\x@#ʒK@'F@gNs@Ȫ,@3{@Rm@=/@Tn?hM?t?]}?f)Y+@gd@,T2Bz@܃9f@A@ni.@8@laq@=؉@kܷ@.K5@FFIO@nT3@V{Y@qt@١R@@2 @@{@( @5|D*?L?'%d?ǀ?7) MhN?P)#P?Qwo@ x(:=@Dy@mg@KuGp@]l|@yHb@ ù@Ui4.=@Ϗv@\Z@ M+@Z@u,@T@m@GP°@! @@lCH@MF:@!H;@l?Ԑ ?mu ?0_ ?T~-PB?xb?lg, F@? {@K]ZD@g0;ז@r@]:S@w@* @3+kJ@/ɞ@vi@:P@,e@&@h@B)(@`J+՞@.nt @jF%u@:D@PQ=@X쐻? Fr? mϩ?kѿ?`lOE? TS?;alƫ@$l\5@O>P@q-@*@Kt@IU=@)dmm*@>'}@*wur`@7@1@ <+@ ]@"Y@cP,,@ 3 @Gn. @H̩J@$ ;@ESf@?Y?k|?-. ?~ M??5j?$RE<9?1>)y@V h@-@k @@tsiIF@jLI@oF"@l`̰@h}>@AYի@**q@UN@Te@':@k@ s̷ @ @Sa@0ߖ@Wk@oMsq?(Ķ?%dɧs?CRk??! ?C, 7?3:K@'\ř'@|) P@$Tf@xzK@jM@-5y@kW@@O;]J@. 7 o@`Ig@-;@ifx@GA @8nf @b:@-Fs@/;~@ @Bڑ?J#]L?l0v?k-wjK? !uP?)Np0?Cږ?Z5} @Y>X @o1@(@ C<@"4@6jR@^2@ɲ|@܈M@~kF@Xs@ÊM @Z ` @y[# @p^@/p@kJB@>Nm@/6/G? ݚ ?Ns?YÝ/?xjKA?I<$?)O?*?K- UJ?z%%?6r@ö@Ik@kFj@I>?A]t?=?DzS?` >?3U?>5A?`?[G?a?Zi\h?,نK ? Z???ސ?UAܝ?Gc?ZhQ?ptq?7%Ö?Mk?}?LXۅ?v:>J?j?->G ?dՔ??cV?Isg{?o~s?BL#sk?Kc?7r%\?20V?_^t9Ų?{?g ?ާ{?O/_?F$?sHbπ?'Gw?wۑp?Wg?hca?~PؐZ?:n.?ϣw@Ů?Al)јX?*5I?r2J?=:?}Y? kE{?;s?NUm(l?焤Fd?g|H$`?Dѹ?!?0ߨ?HTE?u*?a7紐?7bN?4vR?f w?|Zgup?O[h?+Xb?U/?l_掴?ԇ!-9?V3أ?+"?n$;?H&ۊ?h<Ղ?Zqz?*E  s?x'*@l?ENe?"Y? ϼ">?c?v:4(?]b y?sz#L?hӕ?fHz?ӎϔo?GPE^~?B9;u?!M[,p?2+i?t]퐝?n*B?y49?.rц?HOb|?Y6k? ?_PVC?|l?x?fЛIr?9ԲVl?i?bWk?˳?ԙ?~o#D?!?r?L2?д`T?Oyq{?^ט.nt?o?-L ?޵8뺾?]ߺn?'Y? n?)S?,?v9(?rτ?o2~?$M -v?`G~Dq?eZq?,u\?x۶?2n?g? ZA"z?|& ]1?Pz?J??>j?di x?S=ls?s?l]&?JWm?J{԰?{{-?ި?qI]ݑ?/Ɛ?~ ?8pH.?R՜z?/rOMu?^OK>?@j?_Ѹ?dLos?ܘ?ld??Q|n? <Е?^ Bǂ?p~w|?h~^t0v?)k?+?F?2݅o>?`T"б?p]D6?P?`?a?]w?u*ƃ?*~?hR-|)x?5R?Cb?-ld>?(e?T?w?c12?9hV#?N?X?ߘ?CK4?p.y?(?Mq?4͸?Pٱ?,H+Y?3 k>?y˗0h?4KPB?G" k?[?>?׺z?3h?9??d55?[~0?R?d?t]tn?;r?f}%?F)?:|??JvE?*B?0M Ox?.|V?]밡?܂{#?!x^u?Eڊ]L?`Pu?D?qE}?O|?ņ?RYT?q0 ??ƅC*?:n?`b??0W?'sh? mC?Vkm~?[+?U/y?7#?ǿ7ܬ?3ԥ?Q|y?]s/?yB?"-?b>!U?aV΂?+Sы?~DpX?)e(?|r̃&?+C+>?C^*ږ?깄ޟ?[?.)?ez?Uχ?ig0e?SOq?r'?'uͲ?+'"3j?<l?u?&5О? v^+ M?)?H]Ÿa?N0f?,F?an%?E6{˱?wl1p?"w? rK̢?Ȩh?+w"?# /?PgOW?G$C?T(?õބ?|?K?do'z?"C돃?X~?.?3o ?Xhs?Uœ?:d>?oZ&?!tՅ?aiv]?;/u?{?Og4c?ˆyC?Re2]3Y?^zᥱ?sb4?k7?LT?!k?\.?^OD?1F ?O'??nes?j5,?&b(;? g?9?ٴ?u˲?d?V]?ct0?Wv5՝m?Uj@j?XQz3?Qa?\?*`?T8m? f?>@Fɒ?+w?26 ?W?&:`2?'US?bw;??sY?DQ?|?_ ?E=J0??Ӌċ?;_(ϭ"?&U?Xx?wϺ'?.XU?f[~?FS;ˉ>?U?( n?ꩭ#^˕?2Uʑ?C{vÍ?&?Ӊ?x?6$=?T?i7(?: 1?N 5J?FzҨ?ۼ)?:?s?\?{s&?>S?{wjgx??T ?o0M,?jK*Y?w(S ?}tp?;a%?5Ae??0_?f?Ha{? ޥ?<2 ?Vg y?d%Z˸?g Mϲ?Z4xЬ?ۛ`U?ϽE?VI?l~r?%zY>?1Ws?U.6?꜊?ew y?;>\9&?d-5?NS?Qn]T?b-?>+:(?gVT? ?(C?+u7?+/I?]?9s,7|? `~?Bؑgѫ?%^L?Mš?Ū ?yb?$L ›p?eV?m]?>Y?vJ?ek"JSDXb?LLߛ?|͆?U_?-,ܛI?>?VX? ?紝a?3?yg~?3X{?C{q 9x?N v?Sяt?2W?,A!:?̃G?2z-|?k_A dy?Y,v?X,##s?Coȣq?DDghdo?GIc2l?Gi?G0 g?2y?TbCf?V_ L?2;+@?k_h?ĚLUrE?\3?|2p?[4ͼ?86þ?Ӄm?.fh?A؏?H? 7iq?&ZE?OJy?IPj?%H?j?+[?x(I'?DjFE~? UZ?cvu?M!m?NF?pɉ(x?e ?҉-? @M??mEZ??UZw^?xE?.)v"?.R? Fv?碻?U?1ώ ?)1q?G?$\?)e?`7#?R%IbE?ː?2"m?wJ ^?^G??e{I?l_$?Ng?B/?]U^?SG?vZ@3?2Α?Zǐ?Dg2?h_?2^?=։? 7?AF?zH{?+Uڒ*??8D8?N7ꕱ?dPwlX?~aB?zuʣњ?:5>ؐ?W`?AK?@?.Ǝ?gԶ???_ҟњ?k<ې?\ZD?$)? ]Q'?dN(?O8l׷?<xΐ?dԋ?k}Ag?vp2?;m?Z' yD?1B7?U'?؆_??ۍ/??Y9?~? Na?ı?'mJ?\G?|4HV?I 4m?7?K?t2?6F ?1?]Xĺ?ģ>c??:K?bQ؋?K.â?ױX;?&2?ƕm? o?rj?/ru? 1|r?iS7?gC\Q?atՍ?aԌ?×?rz?Lì_?;ױA? x_\2?>P\?}X$?t* 1?ງ*?_6B?m͐?sf>?6]Ŗ?3A4 ?pG0?ۋ?Xlk?eK&}?*Զ?7gps?T5?qZCػ??ëN?3?W3ˠ?]d?d"p "?yx? ovj-? vi?gi? Z?(4;?m%!?6tј?;yװ?s^G?pˢ?v?mH?m\[?.[?%na?sU??5I?oဒ?'E&?"g? z?fW?W?DE%?X0'?~Z=?*N:t?/>??ZA6?0#b?s.??J~ ?}v?%hAm?Y>Lê?(J?!b? G&-?_%?+?E}y5d?Wjǹ?89!?Q_?١і?U ?;0 ?!Q׍?†?"C??j5?LFy?SC&0?@+SÐ?6?F?͉) ?&_?#)z?,?Rs?f|y?}?7ʮ?iU? Cӓ?pQ ?WB?w⫴?a9?/rK?m-{?.Y{x5?"Hnد?/a?강G%/?785+Ȫ|28i`,%ړm 2_ Vd(xu_,2ʡ;Œh'D_KMF_NV{-Uφ7 5Va<E%Kv/8Xz7tâAw^?mWJ ݢw:SN=X]( Teu*Mpf`W C->hm&بf0lWF\8Re5BaHK }UEtT.Fܨ^Ӊo f[-N0q1Ly!P|'55-A3>W6^>/^oU0u>yꞽw{>]1;>9q>>J^v>+Jbt>>LQ>FӵU>HCSRK>/T˄>,،܂>ѯa}>4HR{>o|40>j>Z]4>Q >'HoK>bI,s>Sl>y >)2h>Ću9>iO.>ΰV|>H]>`G:>P>I_>e>A:}_%> 0R>`-7>R:ݯ?yQ?Gb m? ?N. ?e(??o*^?$c?b ?* ?` ?G5O ?l-.? ?^ʤվnoD?E<)K#?,Oaz,?7Y?q2? V?,6?6\9?d;?BS=?E-Nb$??N-??JGV??M >?QFg\=?0#S;?8?KrH5?_@2?#(k>ԡ,=?>5L?Ev}T?؟ RZ?l{_?t.a?H5c?yce?dle?6f?BPIf?nze?8amd?52b?&wa?V?]?>X?ai1\2?JD`?F o?zv?HU|?Bq?>Ԁ[?Qgh⸄?Sd?`?Bن?}_w'?B? @B?g]?*? 儁?2цd~? B0y?? ]??Ǘ[?6s?ZJ?JY}??L%|ܟ?2H]?]ʿTe?MDr?b_XH4?${?:i!V?~7O?lވG۟?3vxr?+z?;.?_\?v?d5$?g|??#(?Db?7H?TR?sp4c?S?4%?<#e+?V?wN/n?sF2?'@^?VQu?)c MQ>' 3tG>LSJb@>Q !-6>k}=.>Au!%>v a]7>o,>>"/ >+;R>y(]=u={6U=uIV{>#s&>ak>{:>Mt>ȇ> l>'Sv>.{o>V Ge>y ^>4BV>OxsdP>тd+3I>IXRP!>qb@>j>5]>;Dj/>U&>Ll x>+5dE>X#h>ڟ>P뜰 Җ>zޓ>7P^ >*G?Tn?~6G ?-ՍN?6L>]Y>m'>}>>> W5>d\W5>E> >!fC?Xd:?6B2? ])?ʌû!?l h?r1G/?nEn?4fS?XnY>!x>A>7{/r>zҢc?;RdZ?`Tj;R?;1I?E1YiA?+Q=8?Q80?!+`#'?[(! ?ܘI?_J?q6̅Z@?yӦC?%,-w}?T\t?+7%l?nuc?X Z?LFR? Г'I?"A?XF8?I41? -#G)?eE"?R&I?,Qb?W0Fω?,ف?B&x? xq?6کg?;mg`?2`V? +O?Dң7tF?۔i %@?8?+ .3?4h, a 4觗{=kƉFi EQA AZOd4$'oEղwU] xi`BȔBv„ o+u3sC=.>-&SrGdGRm3>p\W;x/ fR7,qصDŽ+zן i;%fn͡RǴ&F,0>R;F'Q&4I\ 2QfrL$E{q.8:{>ganpcsH^OY gP2e|Te$xtw3?kAh}NZ?Mi Y?Ymd/ef~lpkzKm[.",}#h&}6i?/>Wy(JJ162SjB˽;ԜQr *_oj*8y@ vI 2댿d@O p5^}*4? zzB=3?'M0?Hq$'?[e>+GY3vE6XK.]Ri'l3K!y6S*+/*ߺD?fAiF?23H?rk-JJ?Jw;yL?CL?0yII?F?;?L$7* |[^q_zIro [v8chn;?L0qQ?s΋S?_0W? 0[?>`?tdd?%`Hh? M1.m?kp?v(q?p?#:yvg?)`f1|E]Z?5S2^?k%5b?[?g?ᄈm?䜕s? ~=x?u3?ܶH?K ˉ?ZDP1?Pʤ?FpT?>2c?U@ŕWf?txik?Omq?ҫv?Ρ#}?% 4ۃ?3Bqz?dTc?RB4۔? b?&~վͤ?K5ngl?5d j?vJjIn?$ r? /dx?'u0?zDx?kUj?9 ?Q[.?7?pHڨ?Եؔ?m?WCq?Jđ"t?my?<=?8܁}?LPa?T3?HtwX? 1Gl?? ?`Ys[?=WR?e{?TkWu?`y?٫?+˄?i?-?`T?n}?a? ?|.?q>'r?D(r?Vz?m{? 7Ճ?\;u@ˉ?p{33?LA>OQ?چ? %J ?:AJ?EO?Cͽ??ƞ_?za7?f;&?p?)<!?O”? &#?b*H?c?0V~?Iй?ϕw?,A/l?{?p3?D?#sC?ґ`W?'wl??ek?FbZ9?]?4^>?91?z#Py?YB ?a /Q?oϱB?eV6Y?{f)?ĵr?VP,?B_?.@yԱ?x%?T4?_rb*?ɧ?&?,@?Omx?f??D{q?e=O?B0Cd?ϖ}?#Vu?i?\ґ?p⺨?cI? 8?c2Q̐?g3?gm讀?͒??)G|?#{ί?|.B?4-ֽ?6iR?B?YvC?1?un?e%W?K&Hږ?ɞJ0?xŲ?Aer?,Q!?^@?3ƣ¿?qT;?Ϩm?j?kӡ/?4RY|?j{J?yӘ?>]?$?cwu%?p'?0kx?^`?֐?*2? T?߇?/BO?C4{?#B$?'Ϡ?u#ٽ?Zk$?2(*?!r]? ZS ?U?)xz=?YjG?<;j"?N?\?]L( E?.?;Ħ?@?16?ź? KI?V?[6?따?J M??~-?=ı?)"?=0[?`J? b?JD?ZT?j?{.\=R? ?_? ۱?2Esԙ?h,t?L76!?tE??t9*%?wÐ?6J+$?V߼>p ?l[?UQ?! ]?wDs?8??,`?|t?RD?V?ZED?2P3?MEH?@Q+@@Վ`@aQ@J@ 5@L@?Q9?E2ʑ?}Zi?D5?p׳g?~M;?@\?v1z? G6? +lu?`ͫ?@S ?|̗?N?!O?v1J?+@r@7@gpZ@ : @e[< @ d @rD @p @ d@>ZJ@f@˚@L@s%?VxM?=0?EI?$M?F b?]>?i]?iP?(U:?w2?-r ?uM[$<@5f@@]Ҡя @>4 @d]@Dvz@Tk@AT@J@ `@ޘ7@10. @G @_m6O @K@@X4@'J@h@v]8/Jh?*V?UC?}z<?]&?k?pmE?j?aMfp?m2M?Tg @1<:@Vc @׹!@V@+Yj@#@_-bM@N~&ys@=@y˳@ @iƖ@ZL@8&VM@RZ @kW@h[@] z@I?EJJ|??{C?+?VC?֤o?t(?}.a?Fxv@= @5z@4y@T0`@1@9L@5/@7ɥM@y@gc@Emo@:X8@Z@w=@:$H-@ @v@Q9:@*<+@ir?~9̣?3?8~_O??D ;?9?H@c[q@Ű@-z @+\6 @+`@ @< ??Ӣw?hPz?,mg?lĝi?ٖ?'K?Y@-@~-J@vP@#O+_@iZ@h;+@̸@+ ?!M8?x? su??<Ԩ?z1b^@Mڐ߬@w-@^:Β=@h"@ g#@(^x@0k}@>\@@2꺄@6fD@? rN@@Z_@gg)@S%M";@z @g~? @ @FV@kw?#7ʧl? ?#-Ҳ?z(hn`?/Il?n`֯s?YԒBA@6Kk&@ MWQ@S3@T@'@>;!@Dk@@d@aB a@40w@qL@\T&@wQcDc@¤nU@C @`^3@vw1z3 @\}@07`t@?;@!%?|;? [?|J?ҴK]?48?o?d)@P&@9p@Β罔@^@'78\@e@?6 @i@;xB@jI^?i@[ V@VEC@{ۮ@0@H@B& @< @1QJ; @{G-@:n,}@n'?U?460?噺??:Ѕ? <"?W]r @ή<3@%=@q~h@ >Ʋn@f1@Em@]q@= 9,@lt@=J @@gMOU@sF@>~@~5h @y$ @ k@7:@x?@}؉:?RfbY?EY?oH֒?۲@-?G?^bmt?S3?2@Պ@%= @ɽL.@Þ0 @WtQ @k> @PE|cz @\y @_ @s:8m @)t @][; @/@rO-95@,5Oh}@%SK6۲@ԃP@V# @س}?? `?_ϱ?6wy?sB?H?2c_?I]G=?Y¸m??t??w|?~s u?p?xi?: x?f9?ʈ?<1?n'?7]~r?/䔣?nݖ??֥u?&>?0w?{qUq?81m?ji?-Ig?\#?OnH?E?d|Yނ?B?DaYR?ıŌ6?46?? y?ޗss?V I"p?p l\?K? `X?j<?f_ª?^\pŢ?m~Ij?=?0xZ?WNB/?\N|?+u?Gq6q?4 Y?fs?Gϰ?PL?~z X84?%H֣?Lo? q;ݓ?'9h?);5?v@O~?-w?=⣱Ds?|W+?g?3 ?k{?'w δ?FI?H] z?f0K?J]ޔ?^?ژ3gՅ?+(E?BZ4y?Yb6ft?Dy'w?,qw;c?aV?b2?y,_?PD=?"D(>?b-?/LDI?ܤ?Ȟ$A0?Áz?jԂ0v?=.?~ B?S?V,rpB??R-?Ĩ?e%)Oў?1M5?눀&?sԇ?CfE/?-5BB|?@,w?x)G?u^?pL %g?FF?Cp?t~?M?k?\ 4L?r?~4A?H&}?h>x?L??Z?$??'gG?n>?p/?K5E۞?Pnព?E?,x#?bGR?.*~?:B z?3? Ki?hN斺?cuL?I%?j#\|?]c?(?ԎVڐ?G5@?-B ܃?ʆ?1N-8{?}lD?rg7?[i~?WX4 ?oz?cMM{ߣ??I ?mN?E(BG?nѥ?h",S?7*_?Ž̒?#c ?y(u*?aX ?0q?)D(?χj4?XzȰ?$Rp?Fi[-?LS&F?cvک?jc?nvT?ջRz?T?9Д?W?z 9?h? D;kn?dAK ?q1i?5;?Pxy ?ykL?y)?üW3?2ˣÛ?i?1=? 4n5?\?'CKO?j"ܵ?ɐ槧?_8e>T?MQ?- y?ol%4?. a&??Fʁ۔?W?>?Y,]m?0̍?޽@U?\ ?$.?Pã?Dt Ϡ?{@l?PIt?,_V? $?t??jYZ?^? u”?IG?\E???zf?{]N?̥h֥?e1l?G4?cE\?|L?=檖?uw?4@,%?jxQ"?ي?@ k?&W!І?b=?o?Dl͔? 'QH?-/?rX?.̑?/x#?Ɣ9S?U1L+?x?oR̓?TH&?ü ;Z?}S9f?aW횕?blN?!f_7"?DQc9??2?9i?e\(?^*ڏ]?iPL?SV~?|?Phű?S(?y"==?a?V[?Q֡^?ɓ¾;?RX ?sZe?s?FwVh?Y)M?־ 4?bN:b?fI۵?]L?Y}?J ݥ?8O#N?eMD?X"ć?F??C>o?cG?x1B?2?F ?$L?Ǣz1?[#?^^ٳ??ca-?*u? ۀ0?mW?;6p+"?yw2?DbaZ?ξ.xE?o(?'~r?Rj?/0N?霢h?>lJgp?ٍ gT?)7>?O& i?k ?B/k?_?ģ?rWv?5VM?aA%?\ ?v$׶?:u>?i ;.?̃;?_?0?o?:G?ԽT9'?; ?_*?"DRF?#S?G?QMg?TT C?B?k?toY6?9`ϋ?皾磺?M2 9?A@?c6XϞ?3=4??B;?f?" ?G=?s)m?m0?io+?2o?;e=!? L??ݘLa?K/?6ЫeD?ɘ?Øp?t%܋p?b@?Ԁ>?\?tز7?][J;?$#/? jI?;и5?X!WM?P1?)og)? e^ ??r2?ыn"1?jո?1bt?J='?٣C?A9*?3zU?9v?Mʍ?0=&+?-?t MRR?un?de?$UҨ?i)Dn?ltX? ?u}x[?I?M`i-?s\Δ?3s?t?Khy5?-?EU?Pu?APVQz?e9o?3?>?Y/?\^T?l?lۑ?V2纩?uB?B< ?NZS ?I3/X?#g?4 8?|h!?f#?G?5?c?I ?[H!u?Ad?/0?dc?.?@~!?ߗ>i4??X G?hM^?Q?7vW?O9>?=?΂pP?"iNç?Ӥ ?q4X?RXOۑ?-,b?`(?Zk)?QQG0?d?pe?qdQ?t?I?2$8tk? ʪ?]@?qןV՝?P?}Z?v?a6x? ? ?鍪O?6$Ɖ?y ߵ?5Jf?xӄ:?ޤr=?}Cs(?c@,y?'e˻?ZU?4\f?UrF<?7nc?<7L???=[?TbN?F?&ݶ򟩎?6ʐ?έĒ?]z%F?K!s U?_위?tO?Oj?=x?@o^˧??'?=~ֈ?68ȳk?a4CЌ?(Fu?$ ?J㼴?9og?ԫe ?gf?16?GtX?ʎu;?3j?hd??+mM2'??tm?ECS?K?N"r'?O;?{ kh?\٨??!!?}?f?"!?8O%e?4)e?_2?/Ë?4=\?.Tq#?.I?ݘ?j?*m?u?ޜ?/zey?:!4 j{?% }?cuM?>'?UP[?i#[?{%É? `7?l٬W?w8Cב?V?alN? 'B1r?`6s?pcZxp ????????xsq~wtb(2)uq~j  uq~%tHaxitHaxitHaxitHaxitHaxitHaxitHaxitHaxitHaxitHazitHazitHazitHazitHazitHazitHazitHazitHazitHradtHradtHradtHradtHradtHradtHradtHradtHradtr$2tr$2tr$2tr$2tr$2tz$2tz$2tz$2tz$2tz$2uq~uq~%??????????????????????????uq~%??????????????????????????xsq~wtlb(2)uq~j  uq~tHaxitHaxitHaxitHaxitHaxitHaxitHaxitHaxitHaxitHazitHazitHazitHazitHazitHazitHazitHazitHazitHradtHradtHradtHradtHradtHradtHradtHradtHraduq~uq~??????????????????uq~??????????????????xuq~jxq~Xq~[q~_q~iq~Fq~Hq~Jq~Lq~Nq~Pq~Rq~Tq~Vsrcom.femlab.geom.Rectȉ,E6DlxDlyLlxExprt!Lcom/femlab/geom/Geom$Expression;LlyExprq~xrcom.femlab.geom.Prim2Z~DrotLbaseq~Lconstrq~[post[D[posExprt"[Lcom/femlab/geom/Geom$Expression;LrotExprq~xq~Cwq~wuq~;Geom2|=-C6?@ *@ *@@@@???? BezierCurve@ ?*@ ? BezierCurve*@ ?*@@? BezierCurve*@@?@@? BezierCurve@@?@ ? AssocAttrib VectorInt1   AssocAttrib VectorInt1   AssocAttrib VectorInt1   AssocAttrib VectorInt1  xwxwtcenteruq~@"?ur"[Lcom.femlab.geom.Geom$Expression;\2YUxpsrcom.femlab.geom.Geom$Expression OpI_hDnumScaleLexprStrq~Lthis$0tLcom/femlab/geom/Geom;xpwt9w?xsq~wt0w?xwsq~wt0w?FR9xxw @ sq~wt8w?xw@ sq~wt8w?xxsq~Cwq~w[uq~;[Geom2|=-C6?@@? 1`fW@ 1`fW@? @ @@"@???????? BezierCurve@?@?? BezierCurve@? 1`fW@? BezierCurve@?? 1`fW@?? BezierCurve 1`fW@ .)?$L@5A-? @? BezierCurve 1`fW@? .)?$L@@5A-? @@? BezierCurve @?"@;f?"@?? BezierCurve @@?"@@;f?"@?? AssocAttrib VectorInt5  xwxsq~wq~wuq~;Geom2|=-C6?@*@*@@@@???? BezierCurve@?*@? BezierCurve*@?*@@? BezierCurve*@@?@@? BezierCurve@@?@? AssocAttrib VectorInt1   AssocAttrib VectorInt1  xwxwq~uq~@"uq~sq~wq~w?xsq~wq~w?xwsq~wq~w?FR9xxw @ sq~wq~w?xw@ sq~wq~ w?xxsq~Cwq~w[uq~;[Geom2|=-C6?@@? 1`fW@ 1`fW@? @ @?#@??????? BezierCurve@?@?? BezierCurve@? 1`fW@? BezierCurve@?? 1`fW@?? BezierCurve 1`fW@ .)?$L@5A-? @? BezierCurve 1`fW@? .)?$L@?5A-? @?? BezierCurve @?#@;f?#@? BezierCurve @??#@?;f?#@? AssocAttrib VectorInt5  xwxsrcom.femlab.api.client.MFileInfo3$$LfemNameq~[historyq~[mfileTagsAndTypest[[Ljava/lang/String;[ resetHistoryq~[ storedNamesq~Lversionq~xpwsq~wq~q~q~ q~ t COMSOL 3.2twt $Name: $t$Date: 2005/10/24 07:30:19 $xuq~t`% COMSOL Multiphysics Model M-file % Generated by COMSOL 3.2 (COMSOL 3.2.0.224, $Date: 2005/10/24 07:30:19 $) % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.shape = {}; appl.gporder = {}; appl.cporder = {}; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; prop.frame='rz'; appl.prop = prop; clear pnt pnt.weak = {}; pnt.dweak = {}; pnt.constr = {}; pnt.name = {}; pnt.ind = []; appl.pnt = pnt; clear bnd bnd.weak = {}; bnd.dweak = {}; bnd.constr = {}; bnd.name = {}; bnd.ind = []; appl.bnd = bnd; clear equ equ.gporder = {}; equ.init = {}; equ.shape = {}; equ.weak = {}; equ.dweak = {}; equ.usage = {}; equ.constr = {}; equ.cporder = {}; equ.dinit = {}; equ.name = {}; equ.ind = []; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.frame = {'rz'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {}; % Functions clear fcns fem.functions = {}; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.2 (COMSOL 3.2.0.224, $Date: 2005/10/24 07:30:19 $) % Some geometry objects are stored in a separate file. % The name of this file is given by the variable 'flbinaryfile'. flbinaryfile=''; % Geometry g1=flbinary('g1','draw',flbinaryfile); g2=flbinary('g2','draw',flbinaryfile); g1=move(g1,[0,0.5]); g2=move(g2,[0,0.5]); % Constants fem.const = {'c','299792458', ... 'k','2*pi/c', ... 'fc','k^2', ... 'alpha','10.0', ... 'M','11', ... 'delta_e','0.0', ... 'e1','n_AlGaAs^2*(1+delta_e)', ... 'e2','1.0', ... 'e3','1.0', ... 'e4','1.0', ... 'e5','1.0', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.0', ... 'epara2','1.0', ... 'eperp3','1.0', ... 'epara3','1.0', ... 'eperp4','1.0', ... 'epara4','1.0', ... 'eperp5','1.0', ... 'epara5','1.0', ... 'e_293K_alumina','9.8', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660', ... 'n_silica','1.4457', ... 'n_AlGaAs','3.36', ... 'mf','2.374616e14', ... 'ttgH','1', ... 'ttgE','0', ... 'rectangle_mf','2.376629e14', ... 'circle_mf','2.374616e14', ... 'mixing_angle','45', ... 'cMW','sin(mixing_angle * pi /180)', ... 'cEW','cos(mixing_angle * pi /180)', ... 'tngM','1', ... 'tngE','0'}; % Geometry clear s s.objs={g1,g2}; s.name={'CO1','R1'}; s.tags={'g1','g2'}; fem.draw=struct('s',s); fem.geom=geomcsg(fem); % Initialize mesh fem.mesh=meshinit(fem, ... 'hmax',[], ... 'hmaxfact',1, ... 'hgrad',1.3, ... 'hcurve',0.3, ... 'hcutoff',0.001, ... 'hnarrow',1, ... 'hpnt',10, ... 'xscale',1.0, ... 'yscale',1.0, ... 'mlevel','sub'); % Refine mesh fem.mesh=meshrefine(fem, ... 'mcase',0, ... 'boxcoord',[6.916843702579666 9.867981790591806 -1.3094081942336881 2.456297420333839], ... 'rmethod','regular'); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='rz'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'0';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'Hrad*nr+Haxi*nz';'0';'0'},{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi';'0'},{'0';'0';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)';'0'},{'0';'0';'0'}}; bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.ind = [1,1,1,8,1,8,1,1,8,8,8,8]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e2'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'}}; equ.dweak = {{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','isotrop_diel_2','uniaxial_diel_1', ... 'uniaxial_diel_2'}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.frame = {'rz'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'erel',{'1','e1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziy*x)/x', ... 'Dazi','-Haxix+Hrady', ... 'Daxi','(Hazi-Hrad*M+Hazix*x)/x', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi', ... 'AbsMagEnDens','abs(Hrad)^2+abs(Hazi)^2+abs(Haxi)^2', ... 'MagNrmlHSqrd','2*pi*x*abs(Haxi*ny+Hrad*nx)^2', ... 'MagTngHSqrd','2*pi*x*(1*abs(Hazi)^2+1*abs(Haxi*nx-Hrad*ny)^2)', ... 'AbsElecSqrd','abs(Erad)^2+abs(Eazi)^2+abs(Eaxi)^2'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','e3','etc. ...','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','cMW','Magnetic-Wall-ness','mf','match frequency','alpha','penalty coefficient on Div H','e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','delta_e','fractional increment (for determining filling factors)','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','eperp3','etc.','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc. ...','e1','relative permittivity of isotropic_dielectric_1','cEW','Electric-Wall-ness','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','on', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',10, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'Hrad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=4.677311e7 Surface: Hrad', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.57996965098634,13.4200303490137,-3.9,4.9,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Hrad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=2.772605e7 Surface: Hrad', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.30067453625632,5.30067453625632,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Hrad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',8, ... 'phase',(0)*pi/180, ... 'title','lambda(8)=3.333817e7 Surface: Hrad', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.30067453625632,5.30067453625632,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Hrad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',7, ... 'phase',(0)*pi/180, ... 'title','lambda(7)=3.499784e7 Surface: Hrad', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.30067453625632,5.30067453625632,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Hrad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',5, ... 'phase',(0)*pi/180, ... 'title','lambda(5)=3.879435e7 Surface: Hrad', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.30067453625632,5.30067453625632,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Hrad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',5, ... 'phase',(0)*pi/180, ... 'title','lambda(5)=3.879435e7 Surface: Hrad', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.30067453625632,5.30067453625632,-1,1]); % Geometry g1=scale(g1,0.000001,0.000001,0,0); g2=scale(g2,0.000001,0.000001,0,0); % Constants fem.const = {'c','299792458', ... 'k','2*pi/c', ... 'fc','k^2', ... 'alpha','1.0', ... 'M','93', ... 'delta_e','0.0', ... 'e1','n_silica^2*(1+delta_e)', ... 'e2','1.0', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.0', ... 'epara2','1.0', ... 'e_293K_alumina','9.8', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660', ... 'n_silica','1.4457', ... 'n_AlGaAs','3.36', ... 'mf','2.374616e14', ... 'ttgH','1', ... 'ttgE','0', ... 'rectangle_mf','2.376629e14', ... 'circle_mf','2.374616e14', ... 'mixing_angle','45', ... 'cMW','sin(mixing_angle * pi /180)', ... 'cEW','cos(mixing_angle * pi /180)', ... 'tngM','1', ... 'tngE','0'}; % Constants fem.const = {'c','299792458', ... 'k','2*pi/c', ... 'fc','k^2', ... 'alpha','1.0', ... 'M','93', ... 'delta_e','0.0', ... 'e1','n_silica^2*(1+delta_e)', ... 'e2','1.0', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.0', ... 'epara2','1.0', ... 'e_293K_alumina','9.8', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660', ... 'n_silica','1.4457', ... 'n_AlGaAs','3.36', ... 'mf','2.374616e14', ... 'ttgH','1', ... 'ttgE','0', ... 'rectangle_mf','2.376629e14', ... 'circle_mf','2.374616e14', ... 'mixing_angle','45', ... 'cMW','sin(mixing_angle * pi /180)', ... 'cEW','cos(mixing_angle * pi /180)', ... 'tngM','1', ... 'tngE','0'}; % Geometry clear s s.objs={g1,g2}; s.name={'CO1','R1'}; s.tags={'g1','g2'}; fem.draw=struct('s',s); fem.geom=geomcsg(fem); % Initialize mesh fem.mesh=meshinit(fem, ... 'hmax',[], ... 'hmaxfact',1, ... 'hgrad',1.3, ... 'hcurve',0.3, ... 'hcutoff',0.001, ... 'hnarrow',1, ... 'hpnt',10, ... 'xscale',1.0, ... 'yscale',1.0, ... 'mlevel','sub'); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='rz'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'0';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'Hrad*nr+Haxi*nz';'0';'0'},{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi';'0'},{'0';'0';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)';'0'},{'0';'0';'0'}}; bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.ind = [1,1,1,8,1,8,1,1,8,8,8,8]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e2'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'}}; equ.dweak = {{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','isotrop_diel_2','uniaxial_diel_1', ... 'uniaxial_diel_2'}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.frame = {'rz'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'erel',{'1','e1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziy*x)/x', ... 'Dazi','-Haxix+Hrady', ... 'Daxi','(Hazi-Hrad*M+Hazix*x)/x', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi', ... 'AbsMagEnDens','abs(Hrad)^2+abs(Hazi)^2+abs(Haxi)^2', ... 'MagNrmlHSqrd','2*pi*x*abs(Haxi*ny+Hrad*nx)^2', ... 'MagTngHSqrd','2*pi*x*(1*abs(Hazi)^2+1*abs(Haxi*nx-Hrad*ny)^2)', ... 'AbsElecSqrd','abs(Erad)^2+abs(Eazi)^2+abs(Eaxi)^2'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','fc','constant used internally --do not modify','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','cEW','Electric-Wall-ness','cMW','Magnetic-Wall-ness','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','mf','match frequency','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','on', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',10, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'Hrad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.897706e15 Surface: Hrad', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.57996952573619E-6,1.34200302014445E-5,-3.90000004699687E-6,4.89999993078527E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Hrad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.897706e15 Surface: Hrad', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.34224876819716E-6,5.34224865198557E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Hrad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(10)=3.608767e14 Surface: Hrad', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.34224876819716E-6,5.34224865198557E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Hrad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=3.666974e14 Surface: Hrad', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.32580649753471E-6,5.32580638132312E-6,-1,1]); % Initialize mesh fem.mesh=meshinit(fem, ... 'hmax',[], ... 'hmaxfact',1, ... 'hgrad',1.3, ... 'hcurve',0.3, ... 'hcutoff',0.001, ... 'hnarrow',1, ... 'hpnt',10, ... 'xscale',1.0, ... 'yscale',1.0, ... 'mlevel','sub'); % Refine mesh fem.mesh=meshrefine(fem, ... 'mcase',0, ... 'rmethod','regular'); % Refine mesh fem.mesh=meshrefine(fem, ... 'mcase',0, ... 'boxcoord',[7.127659442785637E-6 1.0150151836370384E-5 -1.4525836398021376E-6 2.479331243887753E-6], ... 'rmethod','regular'); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='rz'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'0';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'Hrad*nr+Haxi*nz';'0';'0'},{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi';'0'},{'0';'0';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)';'0'},{'0';'0';'0'}}; bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.ind = [1,1,1,8,1,8,1,1,8,8,8,8]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e2'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'}}; equ.dweak = {{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','isotrop_diel_2','uniaxial_diel_1', ... 'uniaxial_diel_2'}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.frame = {'rz'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'erel',{'1','e1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziy*x)/x', ... 'Dazi','-Haxix+Hrady', ... 'Daxi','(Hazi-Hrad*M+Hazix*x)/x', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi', ... 'AbsMagEnDens','abs(Hrad)^2+abs(Hazi)^2+abs(Haxi)^2', ... 'MagNrmlHSqrd','2*pi*x*abs(Haxi*ny+Hrad*nx)^2', ... 'MagTngHSqrd','2*pi*x*(1*abs(Hazi)^2+1*abs(Haxi*nx-Hrad*ny)^2)', ... 'AbsElecSqrd','abs(Erad)^2+abs(Eazi)^2+abs(Eaxi)^2'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','fc','constant used internally --do not modify','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','cEW','Electric-Wall-ness','cMW','Magnetic-Wall-ness','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','mf','match frequency','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','on', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',10, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'Hrad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=5.208102e15 Surface: Hrad', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.57325215440207E-6,1.34267475727786E-5,-3.90000004699687E-6,4.89999993078527E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Hrad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=5.208102e15 Surface: Hrad', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.29325468344076E-6,5.29325456722916E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Hrad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(10)=3.561182e14 Surface: Hrad', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.29325468344076E-6,5.29325456722916E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Hrad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=3.62576e14 Surface: Hrad', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.29325468344076E-6,5.29325456722916E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Hrad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',8, ... 'phase',(0)*pi/180, ... 'title','lambda(8)=3.89912e14 Surface: Hrad', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.29325468344076E-6,5.29325456722916E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Hrad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(10)=3.561182e14 Surface: Hrad', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.29325468344076E-6,5.29325456722916E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Hrad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=3.62576e14 Surface: Hrad', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.29325468344076E-6,5.29325456722916E-6,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='rz'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'0';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'Hrad*nr+Haxi*nz';'0';'0'},{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi';'0'},{'0';'0';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)';'0'},{'0';'0';'0'}}; bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.ind = [1,1,1,8,1,8,1,1,8,8,8,8]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e2'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'}}; equ.dweak = {{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','isotrop_diel_2','uniaxial_diel_1', ... 'uniaxial_diel_2'}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.frame = {'rz'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'erel',{'1.0','e1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi', ... 'AbsMagEnDens','abs(Hrad)^2+abs(Hazi)^2+abs(Haxi)^2', ... 'MagNrmlHSqrd','2*pi*r*abs(Haxi*nz+Hrad*nr)^2', ... 'MagTngHSqrd','2*pi*r*(1*abs(Hazi)^2+1*abs(Haxi*nr-Hrad*nz)^2)', ... 'AbsElecSqrd','abs(Erad)^2+abs(Eazi)^2+abs(Eaxi)^2'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','fc','constant used internally --do not modify','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','cEW','Electric-Wall-ness','cMW','Magnetic-Wall-ness','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','mf','match frequency','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','on', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',10, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'ElecMagSqrd','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.999078e15 Surface: ElecMagSqrd', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'gt`rid','off', ... 'axis',[4.57325215440207E-6,1.34267475727786E-5,-3.90000004699687E-6,4.89999993078527E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecMagSqrd','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.999078e15 Surface: ElecMagSqrd', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.44330439345124E-6,5.44330427723965E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecMagSqrd','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(10)=3.536146e14 Surface: ElecMagSqrd', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.44330439345124E-6,5.44330427723965E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1.0E9)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(10)=3.536146e14 Surface: log(ElecMagSqrd+1.0E9)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.44330439345124E-6,5.44330427723965E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1.0E13)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(10)=3.536146e14 Surface: log(ElecMagSqrd+1.0E13)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.34224876819716E-6,5.34224865198557E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1.0E12)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(10)=3.536146e14 Surface: log(ElecMagSqrd+1.0E12)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.34224876819716E-6,5.34224865198557E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1.0E12)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(10)=3.536146e14 Surface: log(ElecMagSqrd+1.0E12)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.34224876819716E-6,5.34224865198557E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1.0E12)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(10)=3.536146e14 Surface: log(ElecMagSqrd+1.0E12)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.34224876819716E-6,5.34224865198557E-6,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='rz'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'0';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'Hrad*nr+Haxi*nz';'0';'0'},{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi';'0'},{'0';'0';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)';'0'},{'0';'0';'0'}}; bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.ind = [3,3,3,8,3,8,3,3,8,8,8,8]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e2'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'}}; equ.dweak = {{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','isotrop_diel_2','uniaxial_diel_1', ... 'uniaxial_diel_2'}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.frame = {'rz'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'erel',{'1','e1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi', ... 'AbsMagEnDens','abs(Hrad)^2+abs(Hazi)^2+abs(Haxi)^2', ... 'MagNrmlHSqrd','2*pi*r*abs(Haxi*nz+Hrad*nr)^2', ... 'MagTngHSqrd','2*pi*r*(1*abs(Hazi)^2+1*abs(Haxi*nr-Hrad*nz)^2)', ... 'AbsElecSqrd','abs(Erad)^2+abs(Eazi)^2+abs(Eaxi)^2'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','fc','constant used internally --do not modify','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','cEW','Electric-Wall-ness','cMW','Magnetic-Wall-ness','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','mf','match frequency','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','on', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',10, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1.0E12)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=2.966207e15 Surface: log(ElecMagSqrd+1.0E12)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.57325215440207E-6,1.34267475727786E-5,-3.90000004699687E-6,4.89999993078527E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1.0E12)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(10)=3.533686e14 Surface: log(ElecMagSqrd+1.0E12)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.34224876819716E-6,5.34224865198557E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1.0E12)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',7, ... 'phase',(0)*pi/180, ... 'title','lambda(7)=4.295804e14 Surface: log(ElecMagSqrd+1.0E12)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.34224876819716E-6,5.34224865198557E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1.0E12)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',7, ... 'phase',(0)*pi/180, ... 'title','lambda(7)=4.295804e14 Surface: log(ElecMagSqrd+1.0E12)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.34224876819716E-6,5.34224865198557E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1.0E12)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(10)=3.533686e14 Surface: log(ElecMagSqrd+1.0E12)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.34224876819716E-6,5.34224865198557E-6,-1,1]); % Initialize mesh fem.mesh=meshinit(fem, ... 'hmax',[], ... 'hmaxfact',1, ... 'hgrad',1.3, ... 'hcurve',0.3, ... 'hcutoff',0.001, ... 'hnarrow',1, ... 'hpnt',10, ... 'xscale',1.0, ... 'yscale',1.0, ... 'mlevel','sub'); % Refine mesh fem.mesh=meshrefine(fem, ... 'mcase',0, ... 'boxcoord',[6.79331293907051E-6 1.0150151836370384E-5 -1.7066869826256343E-6 2.7735561671570644E-6], ... 'rmethod','regular'); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='rz'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'0';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'Hrad*nr+Haxi*nz';'0';'0'},{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi';'0'},{'0';'0';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)';'0'},{'0';'0';'0'}}; bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.ind = [3,3,3,8,3,8,3,3,8,8,8,8]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e2'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'}}; equ.dweak = {{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','isotrop_diel_2','uniaxial_diel_1', ... 'uniaxial_diel_2'}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.frame = {'rz'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'erel',{'1','e1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi', ... 'AbsMagEnDens','abs(Hrad)^2+abs(Hazi)^2+abs(Haxi)^2', ... 'MagNrmlHSqrd','2*pi*r*abs(Haxi*nz+Hrad*nr)^2', ... 'MagTngHSqrd','2*pi*r*(1*abs(Hazi)^2+1*abs(Haxi*nr-Hrad*nz)^2)', ... 'AbsElecSqrd','abs(Erad)^2+abs(Eazi)^2+abs(Eaxi)^2'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','fc','constant used internally --do not modify','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','cEW','Electric-Wall-ness','cMW','Magnetic-Wall-ness','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','mf','match frequency','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','on', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',10, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1.0E12)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=3.233941e15 Surface: log(ElecMagSqrd+1.0E12)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.57325215440207E-6,1.34267475727786E-5,-3.90000004699687E-6,4.89999993078527E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1.0E12)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(10)=3.533559e14 Surface: log(ElecMagSqrd+1.0E12)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.34224876819716E-6,5.34224865198557E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1.0E17)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(10)=3.533559e14 Surface: log(ElecMagSqrd+1.0E17)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.34224876819716E-6,5.34224865198557E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1.0E15)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(10)=3.533559e14 Surface: log(ElecMagSqrd+1.0E15)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.34224876819716E-6,5.34224865198557E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1.0E14)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(10)=3.533559e14 Surface: log(ElecMagSqrd+1.0E14)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.34224876819716E-6,5.34224865198557E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1.0E14)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(10)=3.533559e14 Surface: log(ElecMagSqrd+1.0E14)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.34224876819716E-6,5.34224865198557E-6,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='rz'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'0';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'Hrad*nr+Haxi*nz';'0';'0'},{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi';'0'},{'0';'0';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)';'0'},{'0';'0';'0'}}; bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.ind = [8,8,8,8,8,8,8,8,8,8,8,8]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e2'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'}}; equ.dweak = {{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','isotrop_diel_2','uniaxial_diel_1', ... 'uniaxial_diel_2'}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.frame = {'rz'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'erel',{'1','e1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi', ... 'AbsMagEnDens','abs(Hrad)^2+abs(Hazi)^2+abs(Haxi)^2', ... 'MagNrmlHSqrd','2*pi*r*abs(Haxi*nz+Hrad*nr)^2', ... 'MagTngHSqrd','2*pi*r*(1*abs(Hazi)^2+1*abs(Haxi*nr-Hrad*nz)^2)', ... 'AbsElecSqrd','abs(Erad)^2+abs(Eazi)^2+abs(Eaxi)^2'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','fc','constant used internally --do not modify','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','cEW','Electric-Wall-ness','cMW','Magnetic-Wall-ness','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','mf','match frequency','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','on', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',10, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1.0E14)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.904246e14 Surface: log(ElecMagSqrd+1.0E14)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.57325215440207E-6,1.34267475727786E-5,-3.90000004699687E-6,4.89999993078527E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1.0E14)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(10)=3.529579e13 Surface: log(ElecMagSqrd+1.0E14)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.34224876819716E-6,5.34224865198557E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1.0E14)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=3.55075e13 Surface: log(ElecMagSqrd+1.0E14)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.34224876819716E-6,5.34224865198557E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1.0E14)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',8, ... 'phase',(0)*pi/180, ... 'title','lambda(8)=4.912523e13 Surface: log(ElecMagSqrd+1.0E14)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.34224876819716E-6,5.34224865198557E-6,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='rz'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'0';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'Hrad*nr+Haxi*nz';'0';'0'},{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi';'0'},{'0';'0';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)';'0'},{'0';'0';'0'}}; bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.ind = [2,2,2,8,2,8,2,2,8,8,8,8]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e2'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'}}; equ.dweak = {{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','isotrop_diel_2','uniaxial_diel_1', ... 'uniaxial_diel_2'}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.frame = {'rz'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'erel',{'1','e1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi', ... 'AbsMagEnDens','abs(Hrad)^2+abs(Hazi)^2+abs(Haxi)^2', ... 'MagNrmlHSqrd','2*pi*r*abs(Haxi*nz+Hrad*nr)^2', ... 'MagTngHSqrd','2*pi*r*(1*abs(Hazi)^2+1*abs(Haxi*nr-Hrad*nz)^2)', ... 'AbsElecSqrd','abs(Erad)^2+abs(Eazi)^2+abs(Eaxi)^2'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','fc','constant used internally --do not modify','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','cEW','Electric-Wall-ness','cMW','Magnetic-Wall-ness','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','mf','match frequency','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','on', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',10, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1.0E14)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.21202e14 Surface: log(ElecMagSqrd+1.0E14)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.57325215440207E-6,1.34267475727786E-5,-3.90000004699687E-6,4.89999993078527E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1.0E14)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(10)=4.837159e13 Surface: log(ElecMagSqrd+1.0E14)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.34224876819716E-6,5.34224865198557E-6,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='rz'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+t`Hazir*nr*r+Haziz*nz*r)/r'}, ... {'0';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'Hrad*nr+Haxi*nz';'0';'0'},{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi';'0'},{'0';'0';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)';'0'},{'0';'0';'0'}}; bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.ind = [3,3,3,8,3,8,3,3,8,8,8,8]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e2'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'}}; equ.dweak = {{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','isotrop_diel_2','uniaxial_diel_1', ... 'uniaxial_diel_2'}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.frame = {'rz'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'erel',{'1','e1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi', ... 'AbsMagEnDens','abs(Hrad)^2+abs(Hazi)^2+abs(Haxi)^2', ... 'MagNrmlHSqrd','2*pi*r*abs(Haxi*nz+Hrad*nr)^2', ... 'MagTngHSqrd','2*pi*r*(1*abs(Hazi)^2+1*abs(Haxi*nr-Hrad*nz)^2)', ... 'AbsElecSqrd','abs(Erad)^2+abs(Eazi)^2+abs(Eaxi)^2'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','fc','constant used internally --do not modify','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','cEW','Electric-Wall-ness','cMW','Magnetic-Wall-ness','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','mf','match frequency','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','on', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',10, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1.0E14)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=9.043035e14 Surface: log(ElecMagSqrd+1.0E14)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.57325215440207E-6,1.34267475727786E-5,-3.90000004699687E-6,4.89999993078527E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1.0E14)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(10)=3.5394e14 Surface: log(ElecMagSqrd+1.0E14)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59999987469928E-6,1.33999998524814E-5,-4.30947551127607E-6,5.30947539506447E-6,-1,1]); % Initialize mesh fem.mesh=meshinit(fem, ... 'hmax',[], ... 'hmaxfact',0.55, ... 'hgrad',1.25, ... 'hcurve',0.25, ... 'hcutoff',0.0005, ... 'hnarrow',1, ... 'hpnt',10, ... 'xscale',1.0, ... 'yscale',1.0, ... 'mlevel','sub'); % Refine mesh fem.mesh=meshrefine(fem, ... 'mcase',0, ... 'boxcoord',[6.98974775451839E-6 1.002784913908196E-5 -1.5265023044190234E-6 2.5536531782315657E-6], ... 'rmethod','regular'); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1.0E14)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(10)=3.5394e14 Surface: log10(ElecMagSqrd+1.0E14)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.1130913710669E-6,1.39318828023376E-5,-4.44718914271927E-6,5.34224865198557E-6,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='rz'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'0';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'Hrad*nr+Haxi*nz';'0';'0'},{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi';'0'},{'0';'0';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)';'0'},{'0';'0';'0'}}; bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.ind = [3,3,3,8,3,8,3,3,8,8,8,8]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/r+(test(Hazir)*(Hazi-M*Hrad)+Hazir*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziz+Haxi*test(Haziz))+r*(test(Hazir)*Hazir+((test(Haxir)-test(Hradz))*(Haxir-Hradz)+Haziz*test(Haziz)))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/r+(test(Haxiz)+test(Hradr))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradr+Haxiz)+r*(test(Hradr)+test(Haxiz))*(Hradr+Haxiz))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/r+(test(Hazir)*(Hazi-M*Hrad)+Hazir*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziz+Haxi*test(Haziz))+r*(test(Hazir)*Hazir+((test(Haxir)-test(Hradz))*(Haxir-Hradz)+Haziz*test(Haziz))))/e1'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/r+(test(Haxiz)+test(Hradr))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradr+Haxiz)+r*(test(Hradr)+test(Haxiz))*(Hradr+Haxiz))'; ... '0'},{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'}}; equ.dweak = {{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'vacuum2','isotrop_diel_2','dielectric_0:vacuum','isotrop_diel_1', ... 'uniaxial_diel_1','uniaxial_diel_2'}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.frame = {'rz'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'erel',{'1','e1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi', ... 'AbsMagEnDens','abs(Hrad)^2+abs(Hazi)^2+abs(Haxi)^2', ... 'MagNrmlHSqrd','2*pi*r*abs(Haxi*nz+Hrad*nr)^2', ... 'MagTngHSqrd','2*pi*r*(1*abs(Hazi)^2+1*abs(Haxi*nr-Hrad*nz)^2)', ... 'AbsElecSqrd','abs(Erad)^2+abs(Eazi)^2+abs(Eaxi)^2'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','fc','constant used internally --do not modify','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','cEW','Electric-Wall-ness','cMW','Magnetic-Wall-ness','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','mf','match frequency','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',4, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1.0E14)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.57752e15 Surface: log10(ElecMagSqrd+1.0E14)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.58361223933225E-6,1.34613619340722E-5,-4.44718914271927E-6,5.34224865198557E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1.0E14)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.797447e14 Surface: log10(ElecMagSqrd+1.0E14)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.58361223933225E-6,1.34613619340722E-5,-4.44718914271927E-6,5.34224865198557E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1.0E14)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',3, ... 'phase',(0)*pi/180, ... 'title','lambda(3)=4.107647e14 Surface: log10(ElecMagSqrd+1.0E14)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.58361223933225E-6,1.34613619340722E-5,-4.44718914271927E-6,5.34224865198557E-6,-1,1]); % Constants fem.const = {'c','299792458', ... 'k','2*pi/c', ... 'fc','k^2', ... 'alpha','1.0', ... 'M','93', ... 'delta_e','0.0', ... 'e1','n_silica^2*(1+delta_e)', ... 'e2','1.0', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.0', ... 'epara2','1.0', ... 'e_293K_alumina','9.8', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660', ... 'n_silica','1.4457', ... 'n_AlGaAs','3.36', ... 'mf','2.374616e14', ... 'ttgH','1', ... 'ttgE','0', ... 'rectangle_mf','2.376629e14', ... 'circle_mf','2.374616e14', ... 'mixing_angle','45', ... 'cMW','sin(mixing_angle * pi /180)', ... 'cEW','cos(mixing_angle * pi /180)', ... 'tngM','1', ... 'tngE','0'}; % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1.0E14)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',3, ... 'phase',(0)*pi/180, ... 'title','lambda(3)=4.107647e14 Surface: log10(ElecMagSqrd+1.0E14)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.58361223933225E-6,1.34613619340722E-5,-4.44718914271927E-6,5.34224865198557E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1.0E14)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.797447e14 Surface: log10(ElecMagSqrd+1.0E14)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.58361223933225E-6,1.34613619340722E-5,-4.44718914271927E-6,5.34224865198557E-6,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='rz'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'0';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'Hrad*nr+Haxi*nz';'0';'0'},{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi';'0'},{'0';'0';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)';'0'},{'0';'0';'0'}}; bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.ind = [3,3,3,8,3,8,3,3,8,8,8,8]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/r+(test(Hazir)*(Hazi-M*Hrad)+Hazir*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziz+Haxi*test(Haziz))+r*(test(Hazir)*Hazir+((test(Haxir)-test(Hradz))*(Haxir-Hradz)+Haziz*test(Haziz))))/e1'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/r+(test(Haxiz)+test(Hradr))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradr+Haxiz)+r*(test(Hradr)+test(Haxiz))*(Hradr+Haxiz))'; ... '0'},{'(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/r+(test(Hazir)*(Hazi-M*Hrad)+Hazir*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziz+Haxi*test(Haziz))+r*(test(Hazir)*Hazir+((test(Haxir)-test(Hradz))*(Haxir-Hradz)+Haziz*test(Haziz)))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/r+(test(Haxiz)+test(Hradr))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradr+Haxiz)+r*(test(Hradr)+test(Haxiz))*(Hradr+Haxiz))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'}}; equ.dweak = {{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','isotrop_diel_2','vacuum2','isotrop_diel_1', ... 'uniaxial_diel_1','uniaxial_diel_2'}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.frame = {'rz'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'erel',{'1','e1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi', ... 'AbsMagEnDens','abs(Hrad)^2+abs(Hazi)^2+abs(Haxi)^2', ... 'MagNrmlHSqrd','2*pi*r*abs(Haxi*nz+Hrad*nr)^2', ... 'MagTngHSqrd','2*pi*r*(1*abs(Hazi)^2+1*abs(Haxi*nr-Hrad*nz)^2)', ... 'AbsElecSqrd','abs(Erad)^2+abs(Eazi)^2+abs(Eaxi)^2'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','fc','constant used internally --do not modify','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','cEW','Electric-Wall-ness','cMW','Magnetic-Wall-ness','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','mf','match frequency','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',4, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1.0E14)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.576754e15 Surface: log10(ElecMagSqrd+1.0E14)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.1130913710669E-6,1.39318828023376E-5,-4.44718914271927E-6,5.34224865198557E-6,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='rz'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'0';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'Hrad*nr+Haxi*nz';'0';'0'},{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi';'0'},{'0';'0';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)';'0'},{'0';'0';'0'}}; bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.ind = [3,3,3,8,3,8,3,3,8,8,8,8]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/r+(test(Hazir)*(Hazi-M*Hrad)+Hazir*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziz+Haxi*test(Haziz))+r*(test(Hazir)*Hazir+((test(Haxir)-test(Hradz))*(Haxir-Hradz)+Haziz*test(Haziz))))/e1'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/r+(test(Haxiz)+test(Hradr))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradr+Haxiz)+r*(test(Hradr)+test(Haxiz))*(Hradr+Haxiz))'; ... '0'},{'(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/r+(test(Hazir)*(Hazi-M*Hrad)+Hazir*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziz+Haxi*test(Haziz))+r*(test(Hazir)*Hazir+((test(Haxir)-test(Hradz))*(Haxir-Hradz)+Haziz*test(Haziz)))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/r+(test(Haxiz)+test(Hradr))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradr+Haxiz)+r*(test(Hradr)+test(Haxiz))*(Hradr+Haxiz))'; ... '0'},{'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'}}; equ.dweak = {{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','isotrop_diel_2','vacuum2', ... 'uniaxial_diel_1','uniaxial_diel_2'}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.frame = {'rz'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'erel',{'1','e1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi', ... 'AbsMagEnDens','abs(Hrad)^2+abs(Hazi)^2+abs(Haxi)^2', ... 'MagNrmlHSqrd','2*pi*r*abs(Haxi*nz+Hrad*nr)^2', ... 'MagTngHSqrd','2*pi*r*(1*abs(Hazi)^2+1*abs(Haxi*nr-Hrad*nz)^2)', ... 'AbsElecSqrd','abs(Erad)^2+abs(Eazi)^2+abs(Eaxi)^2'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','fc','constant used internally --do not modify','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','cEW','Electric-Wall-ness','cMW','Magnetic-Wall-ness','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','mf','match frequency','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',4, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1.0E14)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.572789e15 Surface: log10(ElecMagSqrd+1.0E14)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.1130913710669E-6,1.39318828023376E-5,-4.44718914271927E-6,5.34224865198557E-6,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1.0E14)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.553009e14 Surface: log10(ElecMagSqrd+1.0E14)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.58361223933225E-6,1.34613619340722E-5,-4.44718914271927E-6,5.34224865198557E-6,-1,1]); % Geometry g1=scale(g1,1000000,1000000,0,0); g2=scale(g2,1000000,1000000,0,0); clear s s.objs={g1,g2}; s.name={'CO1','R1'}; s.tags={'g1','g2'}; fem.draw=struct('s',s); fem.geom=geomcsg(fem); % Initialize mesh fem.mesh=meshinit(fem, ... 'hmax',[], ... 'hmaxfact',0.55, ... 'hgrad',1.25, ... 'hcurve',0.25, ... 'hcutoff',0.0005, ... 'hnarrow',1, ... 'hpnt',10, ... 'xscale',1.0, ... 'yscale',1.0, ... 'mlevel','sub'); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='rz'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'0';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'Hrad*nr+Haxi*nz';'0';'0'},{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi';'0'},{'0';'0';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)';'0'},{'0';'0';'0'}}; bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.ind = [3,3,3,8,3,8,3,3,8,8,8,8]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/r+(test(Hazir)*(Hazi-M*Hrad)+Hazir*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziz+Haxi*test(Haziz))+r*(test(Hazir)*Hazir+((test(Haxir)-test(Hradz))*(Haxir-Hradz)+Haziz*test(Haziz))))/e1'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/r+(test(Haxiz)+test(Hradr))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradr+Haxiz)+r*(test(Hradr)+test(Haxiz))*(Hradr+Haxiz))'; ... '0'},{'(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/r+(test(Hazir)*(Hazi-M*Hrad)+Hazir*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziz+Haxi*test(Haziz))+r*(test(Hazir)*Hazir+((test(Haxir)-test(Hradz))*(Haxir-Hradz)+Haziz*test(Haziz)))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/r+(test(Haxiz)+test(Hradr))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradr+Haxiz)+r*(test(Hradr)+test(Haxiz))*(Hradr+Haxiz))'; ... '0'},{'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'}}; equ.dweak = {{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','isotrop_diel_2','vacuum2', ... 'uniaxial_diel_1','uniaxial_diel_2'}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.frame = {'rz'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'erel',{'1','e1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi', ... 'AbsMagEnDens','abs(Hrad)^2+abs(Hazi)^2+abs(Haxi)^2', ... 'MagNrmlHSqrd','2*pi*r*abs(Haxi*nz+Hrad*nr)^2', ... 'MagTngHSqrd','2*pi*r*(1*abs(Hazi)^2+1*abs(Haxi*t`nr-Hrad*nz)^2)', ... 'AbsElecSqrd','abs(Erad)^2+abs(Eazi)^2+abs(Eaxi)^2'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','fc','constant used internally --do not modify','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','cEW','Electric-Wall-ness','cMW','Magnetic-Wall-ness','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','mf','match frequency','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',4, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1.0E14)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=3.553327e8 Surface: log10(ElecMagSqrd+1.0E14)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.58680659670165,13.4131934032984,-3.9,4.9,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1.0E14)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',2, ... 'phase',(0)*pi/180, ... 'title','lambda(2)=3.553302e8 Surface: log10(ElecMagSqrd+1.0E14)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.28737541528239,5.28737541528239,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',2, ... 'phase',(0)*pi/180, ... 'title','lambda(2)=3.553302e8 Surface: log10(ElecMagSqrd)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.28737541528239,5.28737541528239,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',2, ... 'phase',(0)*pi/180, ... 'title','lambda(2)=3.553302e8 Surface: log10(ElecMagSqrd+1e-2)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.35185185185185,5.35185185185185,-1,1]); % Geometry [g3,g4]=geomcopy({g1,g2}); clear g1 g2 g5=flbinary('g5','draw',flbinaryfile); g6=flbinary('g6','draw',flbinaryfile); clear s s.objs={g5,g6}; s.name={'CO1','R1'}; s.tags={'g5','g6'}; fem.draw=struct('s',s); fem.geom=geomcsg(fem); % Initialize mesh fem.mesh=meshinit(fem, ... 'hmax',[], ... 'hmaxfact',0.55, ... 'hgrad',1.25, ... 'hcurve',0.25, ... 'hcutoff',0.0005, ... 'hnarrow',1, ... 'hpnt',10, ... 'xscale',1.0, ... 'yscale',1.0, ... 'mlevel','sub'); % Refine mesh fem.mesh=meshrefine(fem, ... 'mcase',0, ... 'boxcoord',[6.977844311377245 10.165868263473055 -1.9365269461077839 1.976047904191617], ... 'rmethod','regular'); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='rz'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'0';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'Hrad*nr+Haxi*nz';'0';'0'},{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi';'0'},{'0';'0';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)';'0'},{'0';'0';'0'}}; bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.ind = [3,3,3,8,3,8,3,3,8,8,8,8]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/r+(test(Hazir)*(Hazi-M*Hrad)+Hazir*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziz+Haxi*test(Haziz))+r*(test(Hazir)*Hazir+((test(Haxir)-test(Hradz))*(Haxir-Hradz)+Haziz*test(Haziz)))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/r+(test(Haxiz)+test(Hradr))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradr+Haxiz)+r*(test(Hradr)+test(Haxiz))*(Hradr+Haxiz))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/r+(test(Hazir)*(Hazi-M*Hrad)+Hazir*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziz+Haxi*test(Haziz))+r*(test(Hazir)*Hazir+((test(Haxir)-test(Hradz))*(Haxir-Hradz)+Haziz*test(Haziz))))/e1'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/r+(test(Haxiz)+test(Hradr))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradr+Haxiz)+r*(test(Hradr)+test(Haxiz))*(Hradr+Haxiz))'; ... '0'},{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'}}; equ.dweak = {{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'vacuum2','isotrop_diel_2','dielectric_0:vacuum','isotrop_diel_1', ... 'uniaxial_diel_1','uniaxial_diel_2'}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.frame = {'rz'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'erel',{'1','e1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi', ... 'AbsMagEnDens','abs(Hrad)^2+abs(Hazi)^2+abs(Haxi)^2', ... 'MagNrmlHSqrd','2*pi*r*abs(Haxi*nz+Hrad*nr)^2', ... 'MagTngHSqrd','2*pi*r*(1*abs(Hazi)^2+1*abs(Haxi*nr-Hrad*nz)^2)', ... 'AbsElecSqrd','abs(Erad)^2+abs(Eazi)^2+abs(Eaxi)^2'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','fc','constant used internally --do not modify','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','cEW','Electric-Wall-ness','cMW','Magnetic-Wall-ness','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','mf','match frequency','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',4, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=3.553327e8 Surface: log10(ElecMagSqrd+1e-2)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59341317365269,13.4065868263473,-4.4,4.4,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.79468438538206,4.79468438538206,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.81066666666667,4.81066666666667,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='rz'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'0';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'Hrad*nr+Haxi*nz';'0';'0'},{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi';'0'},{'0';'0';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)';'0'},{'0';'0';'0'}}; bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.ind = [3,3,3,8,3,8,3,3,8,8,8,8]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/r+(test(Hazir)*(Hazi-M*Hrad)+Hazir*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziz+Haxi*test(Haziz))+r*(test(Hazir)*Hazir+((test(Haxir)-test(Hradz))*(Haxir-Hradz)+Haziz*test(Haziz))))/e1'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/r+(test(Haxiz)+test(Hradr))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradr+Haxiz)+r*(test(Hradr)+test(Haxiz))*(Hradr+Haxiz))'; ... '0'},{'(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/r+(test(Hazir)*(Hazi-M*Hrad)+Hazir*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziz+Haxi*test(Haziz))+r*(test(Hazir)*Hazir+((test(Haxir)-test(Hradz))*(Haxir-Hradz)+Haziz*test(Haziz)))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/r+(test(Haxiz)+test(Hradr))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradr+Haxiz)+r*(test(Hradr)+test(Haxiz))*(Hradr+Haxiz))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'}}; equ.dweak = {{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','isotrop_diel_2','vacuum2','isotrop_diel_1', ... 'uniaxial_diel_1','uniaxial_diel_2'}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.frame = {'rz'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'erel',{'1','e1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi', ... 'AbsMagEnDens','abs(Hrad)^2+abs(Hazi)^2+abs(Haxi)^2', ... 'MagNrmlHSqrd','2*pi*r*abs(Haxi*nz+Hrad*nr)^2', ... 'MagTngHSqrd','2*pi*r*(1*abs(Hazi)^2+1*abs(Haxi*nr-Hrad*nz)^2)', ... 'AbsElecSqrd','abs(Erad)^2+abs(Eazi)^2+abs(Eaxi)^2'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','fc','constant used internally --do not modify','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','cEW','Electric-Wall-ness','cMW','Magnetic-Wall-ness','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','mf','match frequency','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',4, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=3.553327e8 Surface: log10(ElecMagSqrd+1e-2)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59341317365269,13.4065868263473,-4.4,4.4,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.79468438538206,4.79468438538206,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='rz'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'0';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'Hrad*nr+Haxi*nz';'0';'0'},{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi';'0'},{'0';'0';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)';'0'},{'0';'0';'0'}}; bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.ind = [3,3,3,8,3,8,3,3,8,8,8,8]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/r+(test(Hazir)*(Hazi-M*Hrad)+Hazir*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziz+Haxi*test(Haziz))+r*(test(Hazir)*Hazir+((test(Haxir)-test(Hradz))*(Haxir-Hradz)+Haziz*test(Haziz))))/e1'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/r+(test(Haxiz)+test(Hradr))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradr+Haxiz)+r*(test(Hradr)+test(Haxiz))*(Hradr+Haxiz))'; ... '0'},{'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'}}; equ.dweak = {{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','isotrop_diel_2','uniaxial_diel_1', ... 'uniaxial_diel_2'}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.frame = {'rz'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'erel',{'1','e1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi', ... 'AbsMagEnDens','abs(Hrad)^2+abs(Hazi)^2+abs(Haxi)^2', ... 'MagNrmlHSqrd','2*pi*r*abs(Haxi*nz+Hrad*nr)^2', ... 'MagTngHSqrd','2*pi*r*(1*abs(Hazi)^2+1*abs(Haxi*nr-Hrad*nz)^2)', ... 'AbsElecSqrd','abs(Erad)^2+abs(Eazi)^2+abs(Eaxi)^2'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','fc','constant used internally --do not modify','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','cEW','Electric-Wall-ness','cMW','Magnetic-Wall-ness','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','mf','match frequency','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',4, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=3.553327e8 Surface: log10(ElecMagSqrd+1e-2)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59341317365269,13.4065868263473,-4.4,4.4,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.79468438538206,4.79468438538206,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='rz'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'0';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'Hrad*nr+Haxi*nz';'0';'0'},{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi';'0'},{'0';'0';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)';'0'},{'0';'0';'0'}}; bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.ind = [3,3,3,8,3,8,3,3,8,8,8,8]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'}}; equ.dweak = {{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','isotrop_diel_2','uniaxial_diel_1', ... 'uniaxial_diel_2'}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.frame = {'rz'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'erel',{'1','e1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi', ... 'AbsMagEnDens','abs(Hrad)^2+abs(Hazi)^2+abs(Haxi)^2', ... 'MagNrmlHSqrd','2*pi*r*abs(Haxi*nz+Hrad*nr)^2', ... 'MagTngHSqrd','2*pi*r*(1*abs(Hazi)^2+1*abs(Haxi*nr-Hrad*nz)^2)', ... 'AbsElecSqrd','abs(Erad)^2+abs(Eazi)^2+abs(Eaxi)^2'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','fc','constant used internally --do not modify','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','cEW','Electric-Wall-ness','cMW','Magnetic-Wall-ness','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','mf','match frequency','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',4, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=3.553328e8 Surface: log10(ElecMagSqrd+1e-2)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59341317365269,13.4065868263473,-4.4,4.4,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.81066666666667,4.81066666666667,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.81066666666667,4.81066666666667,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'maxminsub','Hrad', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2) Subdomain marker: Hrad', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.81066666666667,4.81066666666667,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'maxminsub','ElecEnDens', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2) Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.81066666666667,4.81066666666667,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'maxminsub','ElecEnDens', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2) Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.81066666666667,4.81066666666667,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'maxminsub','ElecEnDens', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2) Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.81066666666667,4.81066666666667,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'maxminsub','ElecEnDens', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2) Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.81066666666667,4.81066666666667,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Hazi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecEnDens', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title't`,'lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2) Arrow: Hrad,Hazi Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.81066666666667,4.81066666666667,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecEnDens', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.81066666666667,4.81066666666667,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecEnDens', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.81066666666667,4.81066666666667,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecEnDens', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.81066666666667,4.81066666666667,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='rz'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'0';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'Hrad*nr+Haxi*nz';'0';'0'},{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi';'0'},{'0';'0';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)';'0'},{'0';'0';'0'}}; bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.ind = [1,1,1,8,1,8,1,1,8,8,8,8]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'}}; equ.dweak = {{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','isotrop_diel_2','uniaxial_diel_1', ... 'uniaxial_diel_2'}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.frame = {'rz'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'erel',{'1','e1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi', ... 'AbsMagEnDens','abs(Hrad)^2+abs(Hazi)^2+abs(Haxi)^2', ... 'MagNrmlHSqrd','2*pi*r*abs(Haxi*nz+Hrad*nr)^2', ... 'MagTngHSqrd','2*pi*r*(1*abs(Hazi)^2+1*abs(Haxi*nr-Hrad*nz)^2)', ... 'AbsElecSqrd','abs(Erad)^2+abs(Eazi)^2+abs(Eaxi)^2'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','fc','constant used internally --do not modify','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','cEW','Electric-Wall-ness','cMW','Magnetic-Wall-ness','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','mf','match frequency','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',4, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecEnDens', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=3.55333e8 Surface: log10(ElecMagSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59341317365269,13.4065868263473,-4.4,4.4,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecEnDens', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.81066666666667,4.81066666666667,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecEnDens', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.81066666666667,4.81066666666667,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='rz'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'0';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'Hrad*nr+Haxi*nz';'0';'0'},{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi';'0'},{'0';'0';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)';'0'},{'0';'0';'0'}}; bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.ind = [1,1,1,8,1,8,1,1,8,8,8,8]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'}}; equ.dweak = {{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','isotrop_diel_2','uniaxial_diel_1', ... 'uniaxial_diel_2'}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.frame = {'rz'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'erel',{'1','e1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi', ... 'AbsMagEnDens','abs(Hrad)^2+abs(Hazi)^2+abs(Haxi)^2', ... 'MagNrmlHSqrd','2*pi*r*abs(Haxi*nz+Hrad*nr)^2', ... 'MagTngHSqrd','2*pi*r*(1*abs(Hazi)^2+1*abs(Haxi*nr-Hrad*nz)^2)', ... 'AbsElecSqrd','abs(Erad)^2+abs(Eazi)^2+abs(Eaxi)^2'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','fc','constant used internally --do not modify','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','cEW','Electric-Wall-ness','cMW','Magnetic-Wall-ness','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','mf','match frequency','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','on', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',4, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecEnDens', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=3.553331e8 Surface: log10(ElecMagSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.81066666666667,4.81066666666667,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecEnDens', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.81066666666667,4.81066666666667,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecEnDens', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.81066666666667,4.81066666666667,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='rz'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'0';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'Hrad*nr+Haxi*nz';'0';'0'},{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi';'0'},{'0';'0';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)';'0'},{'0';'0';'0'}}; bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.ind = [2,2,2,8,2,8,2,2,8,8,8,8]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'}}; equ.dweak = {{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','isotrop_diel_2','uniaxial_diel_1', ... 'uniaxial_diel_2'}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.frame = {'rz'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'erel',{'1','e1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi', ... 'AbsMagEnDens','abs(Hrad)^2+abs(Hazi)^2+abs(Haxi)^2', ... 'MagNrmlHSqrd','2*pi*r*abs(Haxi*nz+Hrad*nr)^2', ... 'MagTngHSqrd','2*pi*r*(1*abs(Hazi)^2+1*abs(Haxi*nr-Hrad*nz)^2)', ... 'AbsElecSqrd','abs(Erad)^2+abs(Eazi)^2+abs(Eaxi)^2'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','fc','constant used internally --do not modify','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','cEW','Electric-Wall-ness','cMW','Magnetic-Wall-ness','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','mf','match frequency','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','on', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',4, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecEnDens', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=3.027518e7 Surface: log10(ElecMagSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59341317365269,13.4065868263473,-4.4,4.4,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecEnDens', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=2.544217e7 Surface: log10(ElecMagSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.81066666666667,4.81066666666667,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='rz'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'0';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'Hrad*nr+Haxi*nz';'0';'0'},{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi';'0'},{'0';'0';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)';'0'},{'0';'0';'0'}}; bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.ind = [2,2,2,8,2,8,2,2,8,8,8,8]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'}}; equ.dweak = {{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','isotrop_diel_2','uniaxial_diel_1', ... 'uniaxial_diel_2'}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.frame = {'rz'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'erel',{'1','e1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi', ... 'AbsMagEnDens','abs(Hrad)^2+abs(Hazi)^2+abs(Haxi)^2', ... 'MagNrmlHSqrd','2*pi*r*abs(Haxi*nz+Hrad*nr)^2', ... 'MagTngHSqrd','2*pi*r*(1*abs(Hazi)^2+1*abs(Haxi*nr-Hrad*nz)^2)', ... 'AbsElecSqrd','abs(Erad)^2+abs(Eazi)^2+abs(Eaxi)^2'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','fc','constant used internally --do not modify','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','cEW','Electric-Wall-ness','cMW','Magnetic-Wall-ness','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','mf','match frequency','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','on', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',4, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecEnDens', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=3.027518e7 Surface: log10(ElecMagSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59341317365269,13.4065868263473,-4.4,4.4,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='rz'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'0';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'Hrad*nr+Haxi*nz';'0';'0'},{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi';'0'},{'0';'0';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)';'0'},{'0';'0';'0'}}; bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.ind = [3,3,3,8,3,8,3,3,8,8,8,8]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'}}; equ.dweak = {{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0't`;'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','isotrop_diel_2','uniaxial_diel_1', ... 'uniaxial_diel_2'}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.frame = {'rz'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'erel',{'1','e1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi', ... 'AbsMagEnDens','abs(Hrad)^2+abs(Hazi)^2+abs(Haxi)^2', ... 'MagNrmlHSqrd','2*pi*r*abs(Haxi*nz+Hrad*nr)^2', ... 'MagTngHSqrd','2*pi*r*(1*abs(Hazi)^2+1*abs(Haxi*nr-Hrad*nz)^2)', ... 'AbsElecSqrd','abs(Erad)^2+abs(Eazi)^2+abs(Eaxi)^2'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','fc','constant used internally --do not modify','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','cEW','Electric-Wall-ness','cMW','Magnetic-Wall-ness','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','mf','match frequency','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','on', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',4, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecEnDens', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=3.553327e8 Surface: log10(ElecMagSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59341317365269,13.4065868263473,-4.4,4.4,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecEnDens', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.79468438538206,4.79468438538206,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecEnDens', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.81066666666667,4.81066666666667,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecEnDens', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.01084745762712,13.9891525423729,-5.42915254237288,4.5342372881356,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecEnDens', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.44357172385283,13.5564282761472,-5.42915254237288,4.5342372881356,-1,1]); % Constants fem.const = {'c','299792458', ... 'k','2*pi/c', ... 'fc','k^2', ... 'alpha','1.0', ... 'M','93', ... 'delta_e','0.0', ... 'e1','n_silica^2*(1+delta_e)', ... 'e2','1.0', ... 'delta_eperp1','0*1e-3', ... 'eperp1','e1*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','e1*(1+delta_epara1)', ... 'eperp2','1.0', ... 'epara2','1.0', ... 'e_293K_alumina','9.8', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660', ... 'n_silica','1.4457', ... 'n_AlGaAs','3.36', ... 'mf','2.374616e14', ... 'ttgH','1', ... 'ttgE','0', ... 'rectangle_mf','2.376629e14', ... 'circle_mf','2.374616e14', ... 'mixing_angle','45', ... 'cMW','sin(mixing_angle * pi /180)', ... 'cEW','cos(mixing_angle * pi /180)', ... 'tngM','1', ... 'tngE','0'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='rz'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'0';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'Hrad*nr+Haxi*nz';'0';'0'},{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi';'0'},{'0';'0';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)';'0'},{'0';'0';'0'}}; bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.ind = [3,3,3,8,3,8,3,3,8,8,8,8]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'}}; equ.dweak = {{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','uniaxial_diel_1','isotrop_diel_1','isotrop_diel_2', ... 'uniaxial_diel_2'}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.frame = {'rz'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'erel',{'1','e1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi', ... 'AbsMagEnDens','abs(Hrad)^2+abs(Hazi)^2+abs(Haxi)^2', ... 'MagNrmlHSqrd','2*pi*r*abs(Haxi*nz+Hrad*nr)^2', ... 'MagTngHSqrd','2*pi*r*(1*abs(Hazi)^2+1*abs(Haxi*nr-Hrad*nz)^2)', ... 'AbsElecSqrd','abs(Erad)^2+abs(Eazi)^2+abs(Eaxi)^2'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','fc','constant used internally --do not modify','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','cEW','Electric-Wall-ness','cMW','Magnetic-Wall-ness','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','mf','match frequency','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','on', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',4, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecEnDens', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=3.553327e8 Surface: log10(ElecMagSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59341317365269,13.4065868263473,-4.4,4.4,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecEnDens', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.79468438538206,4.79468438538206,-1,1]); % Constants fem.const = {'c','299792458', ... 'k','2*pi/c', ... 'fc','k^2', ... 'alpha','1.0', ... 'M','93', ... 'delta_e','0.0', ... 'e1','n_silica^2*(1+delta_e)', ... 'e2','1.0', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.0', ... 'epara2','1.0', ... 'e_293K_alumina','9.8', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660', ... 'n_silica','1.4457', ... 'n_AlGaAs','3.36', ... 'mf','2.374616e14', ... 'ttgH','1', ... 'ttgE','0', ... 'rectangle_mf','2.376629e14', ... 'circle_mf','2.374616e14', ... 'mixing_angle','45', ... 'cMW','sin(mixing_angle * pi /180)', ... 'cEW','cos(mixing_angle * pi /180)', ... 'tngM','1', ... 'tngE','0'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='rz'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'0';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {'Hrad*nr+Haxi*nz';'0';'0'},{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi';'0'},{'0';'0';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)';'0'},{'0';'0';'0'}}; bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.ind = [3,3,3,8,3,8,3,3,8,8,8,8]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e2'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'},{'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'; ... '0'}}; equ.dweak = {{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','uniaxial_diel_1','isotrop_diel_2', ... 'uniaxial_diel_2'}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.frame = {'rz'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'erel',{'1','e1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi', ... 'AbsMagEnDens','abs(Hrad)^2+abs(Hazi)^2+abs(Haxi)^2', ... 'MagNrmlHSqrd','2*pi*r*abs(Haxi*nz+Hrad*nr)^2', ... 'MagTngHSqrd','2*pi*r*(1*abs(Hazi)^2+1*abs(Haxi*nr-Hrad*nz)^2)', ... 'AbsElecSqrd','abs(Erad)^2+abs(Eazi)^2+abs(Eaxi)^2'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','fc','constant used internally --do not modify','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','cEW','Electric-Wall-ness','cMW','Magnetic-Wall-ness','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','mf','match frequency','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','on', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',4, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecEnDens', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=3.553327e8 Surface: log10(ElecMagSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.18213173652695,13.8178682634731,-5.31066666666667,4.31066666666667,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecEnDens', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.58533333333333,13.4146666666667,-5.31066666666667,4.31066666666667,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecEnDens', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-5.31066666666667,4.31066666666667,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecEnDens', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.59341317365269,13.4065868263473,-4.4,4.4,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecEnDens', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(4)=3.532667e8 Surface: log10(ElecMagSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecEnDens', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[4.6,13.4,-4.81066666666667,4.81066666666667,-1,1]); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.3a (COMSOL 3.3.0.511, $Date: 2007/02/02 19:05:58 $) % Some geometry objects are stored in a separate file. % The name of this file is given by the variable 'flbinaryfile'. % COMSOL version clear vrsn vrsn.name = 'COMSOL 3.3'; vrsn.ext = 'a'; vrsn.major = 0; vrsn.build = 511; vrsn.rcs = '$Name: $'; vrsn.date = '$Date: 2007/02/02 19:05:58 $'; fem.version = vrsn; flbinaryfile=''; % (Default values are not included) % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.gporder = 4; appl.cporder = 2; appl.assignsuffix = '_Axisymmetric'; clear bnd bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {0;'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... 'Hrad*nr+Haxi*nz',{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi'},{0;0;'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)'},0}; bnd.ind = [3,3,3,8,3,8,3,3,8,8,8,8]; appl.bnd = bnd; clear equ equ.dweak = 'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','uniaxial_diel_1','isotrop_diel_2', ... 'uniaxial_diel_2'}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e2'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.border = 1; clear units; units.basesystem = 'SI'; fem.units = units; % Subdomain settings clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; % Subdomain expressions equ.expr = {'erel',{1,'e1'}}; fem.equ = equ; % Scalar expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'comment','1', ... 'MagAziSqrd_2_pi_r','2*pi*r*(imag(Hazi)^2)', ... 'MagTransSqrd_2_pi_r','2*pi*r*(real(Haxi)^2+real(Hrad)^2)', ... 'ElecAziSqrd_2_pi_r','2*pi*r*(real(Eazi)^2)', ... 'ElecTransSqrd_2_pi_r','2*pi*r*(imag(Eaxi)^2+imag(Erad)^2)'}; % Descriptions clear descr descr.expr= {'ElecAziSqrd_2_pi_r','azimuthal component of electric field squared times 2 pi r','Daxi','axial component of electric displacement','MagAziSqrd_2_pi_r','azimuthal component of magnetic field squared times 2 pi r','MagTransSqrd_2_pi_r','transverse component of magnetic field squared times 2 pi r','DivH','divergence of magnetic field (should be zero!)','ElecTransSqrd_2_pi_r','transverse component of electric field squared times 2 pi r','Erad','radial component of electric field strength','Drad','radial component of electric displacement','comment','elemental volume = 2 pi r d_r d_phi','Eaxi','axial component of electric field strength','Dazi','azimuthal component of electric displacement','Eazi','azimuthal component of electric field strength'}; fem.descr = descr; % Descriptions descr = fem.descr; descr.const= {'n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','e_293K_alumina','relative permittivity of alumina at room temperature','c','speed of light (exact!)','delta_epara1','fractional increment (for determining filling factors)','delta_eperp1','fractional increment (for determining filling factors)','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','delta_e','fractional increment (for determining filling factors)','e1','relative permittivity of isotropic_dielectric_1','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','e2','ditto for isotropic_dielectric_2','epara2','ditto but parallel to cylindrical axis','cMW','Magnetic-Wall-ness','alpha','penalty coefficient on Div H','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_NPL','NPL values','mf','match frequency','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','cEW','Electric-Wall-ness','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)'}; fem.descr = descr; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem, ... 'linshape',[]); % Solve problem fem.sol=femeig(fem, ... 'conjugate','on', ... 'symmetric','on', ... 'solcomp',{'Hazi','Hrad','Haxi'}, ... 'outcomp',{'Hazi','Hrad','Haxi'}, ... 'neigs',4, ... 'linsolver','spooles'); % Save current fem structure for restart purposes fem0=fem; % (Default values are not included) % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.gporder = 4; appl.cporder = 2; appl.assignsuffix = '_Axisymmetric'; clear bnd bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {0;'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... 'Hrad*nr+Haxi*nz',{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi'},{0;0;'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)'},0}; bnd.ind = [3,3,3,8,3,8,3,3,8,8,8,8]; appl.bnd = bnd; clear equ equ.dweak = 'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','uniaxial_diel_1','isotrop_diel_2', ... 'uniaxial_diel_2'}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e2'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.border = 1; clear units; units.basesystem = 'SI'; fem.units = units; % Subdomain settings clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; % Subdomain expressions equ.expr = {'erel',{1,'e1'}}; fem.equ = equ; % Scalar expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'comment','1', ... 'MagAziSqrd','imag(Hazi)^2', ... 'MagTransSqrd','real(Haxi)^2+real(Hrad)^2', ... 'ElecAziSqrd','real(Eazi)^2', ... 'ElecTransSqrd','imag(Eaxi)^2+imag(Erad)^2'}; % Descriptions clear descr descr.expr= {'MagTransSqrd','transverse component of magnetic field squared','ElecTransSqrd','transverse component of electric field squared','ElecAziSqrd','azimuthal component of electric field squared','MagAziSqrd','azimuthal component of magnetic field squared','Daxi','axial component of electric displacement','DivH','divergence of magnetic field (should be zero!)','Erad','radial component of electric field strength','Drad','radial component of electric displacement','comment','elemental volume = 2 pi r d_r d_phi','Eaxi','axial component of electric field strength','Dazi','azimuthal component of electric displacement','Eazi','azimuthal component of electric field strength'}; fem.descr = descr; % Descriptions descr = fem.descr; descr.const= {'n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','e_293K_alumina','relative permittivity of alumina at room temperature','c','speed of light (exact!)','delta_epara1','fractional increment (for determining filling factors)','delta_eperp1','fractional increment (for determining filling factors)','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','delta_e','fractional increment (for determining filling factors)','e1','relative permittivity of isotropic_dielectric_1','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','e2','ditto for isotropic_dielectric_2','epara2','ditto but parallel to cylindrical axis','cMW','Magnetic-Wall-ness','alpha','penalty coefficient on Div H','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_NPL','NPL values','mf','match frequency','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','cEW','Electric-Wall-ness','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)'}; fem.descr = descr; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem, ... 'linshape',[]); % Solve problem fem.sol=femeig(fem, ... 'conjugate','on', ... 'symmetric','on', ... 'solcomp',{'Hazi','Hrad','Haxi'}, ... 'outcomp',{'Hazi','Hrad','Haxi'}, ... 'neigs',4, ... 'linsolver','spooles'); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e-2)','cont','internal'}, ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'title','lambda(1)=3.532667e8 Surface: log10(ElecTransSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axis',[3.9701431492842536,18.97873210633947,-6.154601226993865,6.370552147239264,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e-2)','cont','internal'}, ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'title','lambda(1)=3.532667e8 Surface: log10(ElecTransSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axis',[4.58200408997955,18.366871165644174,-6.154601226993865,6.370552147239264,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e-2)','cont','internal'}, ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'title','lambda(1)=3.532667e8 Surface: log10(ElecTransSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axis',[4.58200408997955,18.366871165644174,-6.154601226993865,6.370552147239264,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e-2)','cont','internal'}, ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'title','lambda(1)=3.532667e8 Surface: log10(ElecTransSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axis',[4.58200408997955,18.366871165644174,-6.154601226993865,6.370552147239264,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e-2)','cont','internal'}, ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'title','lambda(1)=3.532667e8 Surface: log10(ElecTransSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axis',[4.58200408997955,18.366871165644174,-6.154601226993865,6.370552147239264,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e-2)','cont','internal'}, ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'phase',(90)*pi/180, ... 'title','lambda(1)=3.532667e8 Surface: log10(ElecTransSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axt`is',[4.58200408997955,18.366871165644174,-6.154601226993865,6.370552147239264,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e-2)','cont','internal'}, ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'phase',(90)*pi/180, ... 'title','lambda(1)=3.532667e8 Surface: log10(ElecTransSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axis',[4.6,18.348875255623724,-6.154601226993867,6.370552147239266,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e-2)','cont','internal'}, ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'phase',(90)*pi/180, ... 'title','lambda(1)=3.532667e8 Surface: log10(ElecTransSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axis',[4.6,18.348875255623724,-6.154601226993867,6.370552147239266,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e-2)','cont','internal'}, ... 'trimap','jet(1024)', ... 'contdata',{'log10(ElecTransSqrd+1e-2)','cont','internal'}, ... 'contlevels',20, ... 'contlabel','off', ... 'contmap','cool(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'phase',(90)*pi/180, ... 'title','lambda(1)=3.532667e8 Surface: log10(ElecTransSqrd+1e-2) Contour: log10(ElecTransSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axis',[4.6,18.348875255623724,-6.154601226993867,6.370552147239266,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e-2)','cont','internal'}, ... 'trimap','jet(1024)', ... 'contdata',{'log10(ElecTransSqrd+1e-2)','cont','internal'}, ... 'contlevels',10, ... 'contlabel','off', ... 'contmap','cool(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'phase',(90)*pi/180, ... 'title','lambda(1)=3.532667e8 Surface: log10(ElecTransSqrd+1e-2) Contour: log10(ElecTransSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axis',[4.6,18.348875255623724,-6.676925353434016,6.892876273679415,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e-2)','cont','internal'}, ... 'trimap','jet(1024)', ... 'contdata',{'log10(ElecTransSqrd+1e-2)','cont','internal'}, ... 'contlevels',10, ... 'contlabel','off', ... 'contmap','cool(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'phase',(90)*pi/180, ... 'title','lambda(1)=3.532667e8 Surface: log10(ElecTransSqrd+1e-2) Contour: log10(ElecTransSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axis',[4.6,18.348875255623724,-6.676925353434016,6.892876273679415,-1,1]); % (Default values are not included) % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.gporder = 4; appl.cporder = 2; appl.assignsuffix = '_Axisymmetric'; clear bnd bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null'}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {0;'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... 'Hrad*nr+Haxi*nz',{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi'},{0;0;'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)'},0}; bnd.ind = [3,3,3,8,3,8,3,3,8,8,8,8]; appl.bnd = bnd; clear equ equ.dweak = 'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','uniaxial_diel_1','isotrop_diel_2', ... 'uniaxial_diel_2'}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e2'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}}; equ.ind = [1,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.border = 1; clear units; units.basesystem = 'SI'; fem.units = units; % Subdomain settings clear equ equ.ind = [1,2]; equ.dim = {'Hrad','Hazi','Haxi'}; % Subdomain expressions equ.expr = {'erel',{1,'e1'}}; fem.equ = equ; % Scalar expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'comment','1', ... 'MagAziSqrd','imag(Hazi)^2', ... 'MagTransSqrd','real(Haxi)^2+real(Hrad)^2', ... 'ElecAziSqrd','real(Eazi)^2', ... 'ElecTransSqrd','imag(Eaxi)^2+imag(Erad)^2'}; % Descriptions clear descr descr.expr= {'MagTransSqrd','transverse component of magnetic field squared','ElecTransSqrd','transverse component of electric field squared','ElecAziSqrd','azimuthal component of electric field squared','MagAziSqrd','azimuthal component of magnetic field squared','Daxi','axial component of electric displacement','DivH','divergence of magnetic field (should be zero!)','Erad','radial component of electric field strength','Drad','radial component of electric displacement','comment','elemental volume = 2 pi r d_r d_phi','Eaxi','axial component of electric field strength','Dazi','azimuthal component of electric displacement','Eazi','azimuthal component of electric field strength'}; fem.descr = descr; % Descriptions descr = fem.descr; descr.const= {'n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','e_293K_alumina','relative permittivity of alumina at room temperature','c','speed of light (exact!)','delta_epara1','fractional increment (for determining filling factors)','delta_eperp1','fractional increment (for determining filling factors)','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','delta_e','fractional increment (for determining filling factors)','e1','relative permittivity of isotropic_dielectric_1','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','e2','ditto for isotropic_dielectric_2','epara2','ditto but parallel to cylindrical axis','cMW','Magnetic-Wall-ness','alpha','penalty coefficient on Div H','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_NPL','NPL values','mf','match frequency','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','cEW','Electric-Wall-ness','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)'}; fem.descr = descr; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem, ... 'linshape',[]); % Solve problem fem.sol=femeig(fem, ... 'conjugate','on', ... 'symmetric','on', ... 'solcomp',{'Hazi','Hrad','Haxi'}, ... 'outcomp',{'Hazi','Hrad','Haxi'}, ... 'neigs',4, ... 'linsolver','spooles'); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e-2)','cont','internal'}, ... 'trimap','jet(1024)', ... 'contdata',{'log10(ElecTransSqrd+1e-2)','cont','internal'}, ... 'contlevels',10, ... 'contlabel','off', ... 'contmap','cool(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'phase',(90)*pi/180, ... 'title','lambda(1)=3.532667e8 Surface: log10(ElecTransSqrd+1e-2) Contour: log10(ElecTransSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axis',[4.541935483870968,13.458064516129033,-4.4,4.4,-1,1]); % Integrate I1=postint(fem,'MagTransSqrd*2*pi*r', ... 'unit','', ... 'dl',[2], ... 'solnum',1); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.3a (COMSOL 3.3.0.511, $Date: 2007/02/02 19:05:58 $) % Some geometry objects are stored in a separate file. % The name of this file is given by the variable 'flbinaryfile'. % COMSOL version clear vrsn vrsn.name = 'COMSOL 3.3'; vrsn.ext = 'a'; vrsn.major = 0; vrsn.build = 511; vrsn.rcs = '$Name: $'; vrsn.date = '$Date: 2007/02/02 19:05:58 $'; fem.version = vrsn; flbinaryfile=''; % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e-2)','cont','internal'}, ... 'trimap','jet(1024)', ... 'contdata',{'log10(ElecTransSqrd+1e-2)','cont','internal'}, ... 'contlevels',10, ... 'contlabel','off', ... 'contmap','cool(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'phase',(90)*pi/180, ... 'title','lambda(1)=3.532667e8 Surface: log10(ElecTransSqrd+1e-2) Contour: log10(ElecTransSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axis',[3.6193548387096772,14.380645161290323,-4.4,4.4,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e-2)','cont','internal'}, ... 'trimap','jet(1024)', ... 'contdata',{'log10(ElecTransSqrd+1e-2)','cont','internal'}, ... 'contlevels',10, ... 'contlabel','off', ... 'contmap','cool(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'phase',(90)*pi/180, ... 'title','lambda(1)=3.532667e8 Surface: log10(ElecTransSqrd+1e-2) Contour: log10(ElecTransSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axis',[3.6193548387096772,14.380645161290323,-4.4,4.4,-1,1]); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.3a (COMSOL 3.3.0.511, $Date: 2007/02/02 19:05:58 $) % Some geometry objects are stored in a separate file. % The name of this file is given by the variable 'flbinaryfile'. % COMSOL version clear vrsn vrsn.name = 'COMSOL 3.3'; vrsn.ext = 'a'; vrsn.major = 0; vrsn.build = 511; vrsn.rcs = '$Name: $'; vrsn.date = '$Date: 2007/02/02 19:05:58 $'; fem.version = vrsn; flbinaryfile=''; % Geometry [g3,g4]=geomcopy({g6,g5}); g7=flbinary('g7','draw',flbinaryfile); g8=flbinary('g8','draw',flbinaryfile); g9=flbinary('g9','draw',flbinaryfile); g10=flbinary('g10','draw',flbinaryfile); g11=flbinary('g11','draw',flbinaryfile); g12=flbinary('g12','draw',flbinaryfile); g13=flbinary('g13','draw',flbinaryfile); g14=flbinary('g14','draw',flbinaryfile); g15=flbinary('g15','draw',flbinaryfile); % Analyzed geometry clear s s.objs={g7,g8,g9,g10,g11,g12,g13,g14,g15}; s.name={'v1','v2','v3','v4','v5','v6','v7','a1','a2'}; s.tags={'g7','g8','g9','g10','g11','g12','g13','g14','g15'}; fem.draw=struct('s',s); fem.geom=geomcsg(fem); % Constants fem.const = {'c','299792458', ... 'k','2*pi/c', ... 'fc','k^2', ... 'alpha','1.0', ... 'M','93', ... 'delta_e','0.0', ... 'e1','n_AlGaAs^2*(1+delta_e)', ... 'e2','1.0', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.0', ... 'epara2','1.0', ... 'e_293K_alumina','9.8', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660', ... 'n_silica','1.4457', ... 'n_AlGaAs','3.36', ... 'mf','2.374616e14', ... 'ttgH','1', ... 'ttgE','0', ... 'rectangle_mf','2.376629e14', ... 'circle_mf','2.374616e14', ... 'mixing_angle','45', ... 'cMW','sin(mixing_angle * pi /180)', ... 'cEW','cos(mixing_angle * pi /180)', ... 'tngM','1', ... 'tngE','0'}; % (Default values are not included) % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.gporder = 4; appl.cporder = 2; appl.assignsuffix = '_Axisymmetric'; clear bnd bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null',''}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {0;'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... 'Hrad*nr+Haxi*nz',{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi'},{0;0;'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)'},0,{'-Hrad';'-Hazi'; ... '-Haxi'}}; bnd.ind = [3,3,3,9,3,9,3,9,3,9,9,9,9,3,9,9,9,3,9,3,9,3,3,3]; appl.bnd = bnd; clear equ equ.dweak = 'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','uniaxial_diel_1','isotrop_diel_2', ... 'uniaxial_diel_2'}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e2'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}}; equ.ind = [1,2,1,1,2,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.border = 1; clear units; units.basesystem = 'SI'; fem.units = units; % Subdomain settings clear equ equ.ind = [1,1,1,1,1,1,1,1,1]; equ.dim = {'Hrad','Hazi','Haxi'}; fem.equ = equ; % Scalar expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'comment','1', ... 'MagAziSqrd','imag(Hazi)^2', ... 'MagTransSqrd','real(Haxi)^2+real(Hrad)^2', ... 'ElecAziSqrd','real(Eazi)^2', ... 'ElecTransSqrd','imag(Eaxi)^2+imag(Erad)^2'}; % Descriptions clear descr descr.expr= {'MagTransSqrd','transverse component of magnetic field squared','ElecTransSqrd','transverse component of electric field squared','ElecAziSqrd','azimuthal component of electric field squared','MagAziSqrd','azimuthal component of magnetic field squared','Daxi','axial component of electric displacement','DivH','divergence of magnetic field (should be zero!)','Erad','radial component of electric field strength','Drad','radial component of electric displacement','comment','elemental volume = 2 pi r d_r d_phi','Eaxi','axial component of electric field strength','Dazi','azimuthal component of electric displacement','Eazi','azimuthal component of electric field strength'}; fem.descr = descr; % Descriptions descr = fem.descr; descr.const= {'n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','e_293K_alumina','relative permittivity of alumina at room temperature','c','speed of light (exact!)','delta_epara1','fractional increment (for determining filling factors)','delta_eperp1','fractional increment (for determining filling factors)','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','M','azimuthal mode order','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','fc','constant used internally --do not modify','delta_e','fractional increment (for determining filling factors)','e1','relative permittivity of isotropic_dielectric_1','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','e2','ditto for isotropic_dielectric_2','epara2','ditto but parallel to cylindrical axis','cMW','Magnetic-Wall-ness','eperp_293K_sapph','nominal room temperature values for same','alpha','penalty coefficient on Div H','mf','match frequency','eperp_4K_sapph_NPL','NPL values','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','cEW','Electric-Wall-ness','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)'}; fem.descr = descr; % Multiphysics fem=multiphysics(fem); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.3a (COMSOL 3.3.0.511, $Date: 2007/02/02 19:05:58 $) % Some geometry objects are stored in a separate file. % The name of this file is given by the variable 'flbinaryfile'. % COMSOL version clear vrsn vrsn.name = 'COMSOL 3.3'; vrsn.ext = 'a'; vrsn.major = 0; vrsn.build = 511; vrsn.rcs = '$Name: $'; vrsn.date = '$Date: 2007/02/02 19:05:58 $'; fem.version = vrsn; flbinaryfile=''; % Constants fem.const = {'c','299792458', ... 'k','2*pi/c', ... 'fc','k^2', ... 'alpha','1.0', ... 'M','11', ... 'delta_e','0.0', ... 'e1','n_AlGaAs^2*(1+delta_e)', ... 'e2','1.0', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.0', ... 'epara2','1.0', ... 'e_293K_alumina','9.8', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660', ... 'n_silica','1.4457', ... 'n_AlGaAs','3.36', ... 'mf','2.374616e14', ... 'ttgH','1', ... 'ttgE','0', ... 'rectangle_mf','2.376629e14', ... 'circle_mf','2.374616e14', ... 'mixing_angle','45', ... 'cMW','sin(mixing_angle * pi /180)', ... 'cEW','cos(mixing_angle * pi /180)', ... 'tngM','1', ... 'tngE','0'}; % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgelem',{1,[0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1],3,[0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1],5,[0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1],7,[0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1],14,[0 0.03333333333333333 0.06666666666666667 0.1 0.13333333333333333 0.16666666666666666 0.2 0.23333333333333334 0.26666666666666666 0.3 0.3333333333333333 0.36666666666666664 0.4 0.43333333333333335 0.4666666666666667 0.5 0.5333333333333333 0.5666666666666667 0.6 0.6333333333333333 0.6666666666666666 0.7 0.7333333333333333 0.7666666666666667 0.8 0.8333333333333334 0.8666666666666667 0.9 0.9333333333333333 0.9666666666666667 1],18,[0 0.06666666666666667 0.13333333333333333 0.2 0.26666666666666666 0.3333333333333333 0.4 0.4666666666666667 0.5333333333333333 0.6 0.6666666666666666 0.7333333333333333 0.8 0.8666666666666667 0.9333333333333333 1]}, ... 'hauto',5); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgelem',{1,[0 0.06666666666666667 0.13333333333333333 0.2 0.26666666666666666 0.3333333333333333 0.4 0.4666666666666667 0.5333333333333333 0.6 0.6666666666666666 0.7333333333333333 0.8 0.8666666666666667 0.9333333333333333 1],3,[0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1],5,[0 0.06666666666666667 0.13333333333333333 0.2 0.26666666666666666 0.3333333333333333 0.4 0.4666666666666667 0.5333333333333333 0.6 0.6666666666666666 0.7333333333333333 0.8 0.8666666666666667 0.9333333333333333 1],7,[0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1],14,[0 0.03333333333333333 0.06666666666666667 0.1 0.13333333333333333 0.16666666666666666 0.2 0.23333333333333334 0.26666666666666666 0.3 0.3333333333333333 0.36666666666666664 0.4 0.43333333333333335 0.4666666666666667 0.5 0.5333333333333333 0.5666666666666667 0.6 0.6333333333333333 0.6666666666666666 0.7 0.7333333333333333 0.7666666666666667 0.8 0.8333333333333334 0.8666666666666667 0.9 0.9333333333333333 0.9666666666666667 1],18,[0 0.06666666666666667 0.13333333333333333 0.2 0.26666666666666666 0.3333333333333333 0.4 0.4666666666666667 0.5333333333333333 0.6 0.6666666666666666 0.7333333333333333 0.8 0.8666666666666667 0.9333333333333333 1]}, ... 'hauto',5); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgelem',{1,[0 0.06666666666666667 0.13333333333333333 0.2 0.26666666666666666 0.3333333333333333 0.4 0.4666666666666667 0.5333333333333333 0.6 0.6666666666666666 0.7333333333333333 0.8 0.8666666666666667 0.9333333333333333 1],3,[0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95 1],5,[0 0.06666666666666667 0.13333333333333333 0.2 0.26666666666666666 0.3333333333333333 0.4 0.4666666666666667 0.5333333333333333 0.6 0.6666666666666666 0.7333333333333333 0.8 0.8666666666666667 0.9333333333333333 1],7,[0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1],14,[0 0.03333333333333333 0.06666666666666667 0.1 0.13333333333333333 0.16666666666666666 0.2 0.23333333333333334 0.26666666666666666 0.3 0.3333333333333333 0.36666666666666664 0.4 0.43333333333333335 0.4666666666666667 0.5 0.5333333333333333 0.5666666666666667 0.6 0.6333333333333333 0.6666666666666666 0.7 0.7333333333333333 0.7666666666666667 0.8 0.8333333333333334 0.8666666666666667 0.9 0.9333333333333333 0.9666666666666667 1],18,[0 0.05555555555555555 0.1111111111111111 0.16666666666666666 0.2222222222222222 0.2777777777777778 0.3333333333333333 0.3888888888888889 0.4444444444444444 0.5 0.5555555555555556 0.6111111111111112 0.6666666666666666 0.7222222222222222 0.7777777777777778 0.8333333333333334 0.8888888888888888 0.9444444444444444 1]}, ... 'hauto',5); % (Default values are not included) % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.gporder = 4; appl.cporder = 2; appl.assignsuffix = '_Axisymmetric'; clear bnd bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null',''}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {0;'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... 'Hrad*nr+Haxi*nz',{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi'},{0;0;'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)'},0,{'-Hrad';'-Hazi'; ... '-Haxi'}}; bnd.ind = [3,3,3,9,3,9,3,9,3,9,9,9,9,3,9,9,9,3,9,3,9,3,3,3]; appl.bnd = bnd; clear equ equ.dweak = 'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','uniaxial_diel_1','isotrop_diel_2', ... 'uniaxial_diel_2'}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e2'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}}; equ.ind = [1,2,1,1,2,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.border = 1; clear units; units.basesystem = 'SI'; fem.units = units; % Subdomain settings clear equ equ.ind = [1,1,1,1,1,1,1,1,1]; equ.dim = {'Hrad','Hazi','Haxi'}; fem.equ = equ; % Scalar expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'comment','1', ... 'MagAziSqrd','imag(Hazi)^2', ... 'MagTransSqrd','real(Haxi)^2+real(Hrad)^2', ... 'ElecAziSqrd','real(Eazi)^2', ... 'ElecTransSqrd','imag(Eaxi)^2+imag(Erad)^2'}; % Descriptions clear descr descr.expr= {'MagTransSqrd','transverse component of magnetic field squared','ElecAziSqrd','azimuthal component of electric field squared','ElecTransSqrd','transverse component of electric field squared','Daxi','axial component of electric displacement','MagAziSqrd','azimuthal component of magnetic field squared','DivH','divergence of magnetic field (should be zero!)','Erad','radial component of electric field strength','Drad','radial component of electric displacement','comment','elemental volume = 2 pi r d_r d_phi','Dazi','azimuthal component of electric displacement','Eaxi','axial component of electric field strength','Eazi','azimuthal component of electric field strength'}; fem.descr = descr; % Descriptions descr = fem.descr; descr.const= {'n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','e_293K_alumina','relative permittivity of alumina at room temperature','c','speed of light (exact!)','delta_epara1','fractional increment (for determining filling factors)','delta_eperp1','fractional increment (for determining filling factors)','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','M','azimuthal mode order','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','fc','constant used internally --do not modify','delta_e','fractional increment (for determining filling factors)','e1','relative permittivity of isotropic_dielectric_1','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','e2','ditto for isotropic_dielectric_2','epara2','ditto but parallel to cylindrical axis','cMW','Magnetic-Wall-ness','eperp_293K_sapph','nominal room temperature values for same','alpha','penalty coefficient on Div H','mf','match frequency','eperp_4K_sapph_NPL','NPL values','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','cEW','Electric-Wall-ness','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)'}; fem.descr = descr; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem, ... 'linshape',[]); % Solve problem fem.sol=femeig(fem, ... 'conjugate','on', ... 'symmetric','on', ... 'solcomp',{'Hazi','Hrad','Haxi'}, ... 'outcomp',{'Hazi','Hrad','Haxi'}, ... 'neigs',10, ... 'linsolver','spooles'); % Save current fem structure for restart purposes fem0=fem; % (Default values are not included) % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.gporder = 4; appl.cporder = 2; appl.assignsuffix = '_Axisymmetric'; clear bnd bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null',''}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {0;'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... 'Hrad*nr+Haxi*nz',{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi'},{0;0;'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)'},0,{'-Hrad';'-Hazi'; ... '-Haxi'}}; bnd.ind = [3,3,3,9,3,9,3,9,3,9,9,9,9,3,9,9,9,3,9,3,9,3,3,3]; appl.bnd = bnd; clear equ equ.dweak = 'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','uniaxial_diel_1','isotrop_diel_2', ... 'uniaxial_diel_2'}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e2'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}}; equ.ind = [1,2,1,1,2,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.border = 1; clear units; units.basesystem = 'SI'; fem.units = units; % Subdomain settings clear equ equ.ind = [1,2,1,1,2,1,1,1,1]; equ.dim = {'Hrad','Hazi','Haxi'}; % Subdomain expressions equ.expr = {'erel',{1.0,'e1'}}; fem.equ = equ; % Scalar expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'comment','1', ... 'MagAziSqrd','imag(Hazi)^2', ... 'MagTransSqrd','real(Haxi)^2+real(Hrad)^2', ... 'ElecAziSqrd','real(Eazi)^2', ... 'ElecTransSqrd','imag(Eaxi)^2+imag(Erad)^2'}; % Descriptions clear descr descr.expr= {'MagTransSqrd','transverse component of magnetic field squared','ElecAziSqrd','azimuthal component of electric field squared','ElecTransSqrd','transverse component of electric field squared','Daxi','axial component of electric displacement','MagAziSqrd','azimuthal component of magnetic field squared','DivH','divergence of magnetic field (should be zero!)','Erad','radial component of electric field strength','Drad','radial component of electric displacement','comment','elemental volume = 2 pi r d_r d_phi','Dazi','azimuthal component of electric displacement','Eaxi','axial component of electric field strength','Eazi','azimuthal component of electric field strength'}; fem.descr = descr; % Descriptions descr = fem.descr; descr.const= {'n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','e_293K_alumina','relative permittivity of alumina at room temperature','c','speed of light (exact!)','delta_epara1','fractional increment (for determining filling factors)','delta_eperp1','fractional increment (for determining filling factors)','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','M','azimuthal mode order','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','fc','constant used internally --do not modify','delta_e','fractional increment (for determining filling factors)','e1','relative permittivity of isotropic_dielectric_1','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','e2','ditto for isotropic_dielectric_2','epara2','ditto but parallel to cylindrical axis','cMW','Magnetic-Wall-ness','eperp_293K_sapph','nominal room temperature values for same','alpha','penalty coefficient on Div H','mf','match frequency','eperp_4K_sapph_NPL','NPL values','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','cEW','Electric-Wall-ness','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)'}; fem.descr = descr; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem, ... 'linshape',[]); % Solve problem fem.sol=femeig(fem, ... 'conjugate','on', ... 'symmetric','on', ... 'solcomp',{'Hazi','Hrad','Haxi'}, ... 'outcomp',{'Hazi','Hrad','Haxi'}, ... 'neigs',10, ... 'linsolver','spooles'); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e-2)','cont','internal'}, ... 'trimap','jet(1024)', ... 'contdata',{'log10(ElecTransSqrd+1e-2)','cont','internal'}, ... 'contlevels',10, ... 'contlabel','off', ... 'contmap','cool(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'phase',(90)*pi/180, ... 'title','lambda(1)=2.372579e14 Surface: log10(ElecTransSqrd+1e-2) Contour: log10(ElecTransSqrd+1e-2) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axis',[-5.900000106251469E-8,1.6829500196857694E-6,-8.276839447697468E-7,8.276839447697468E-7,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e-5)','cont','internal'}, ... 'trimap','jet(1024)', ... 'contdata',{'log10(ElecTransSqrd+1e-5)','cont','internal'}, ... 'contlevels',10, ... 'contlabel','off', ... 'contmap','cool(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'phase',(90)*pi/180, ... 'title','lambda(1)=2.372579e14 Surface: log10(ElecTransSqrd+1e-5) Contour: log10(ElecTransSqrd+1e-5) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axis',[-5.900000106251469E-8,1.6829500196857694E-6,-9.75290920707553E-7,9.75290920707553E-7,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e-0)','cont','internal'}, ... 'trimap','jet(1024)', ... 'contdata',{'log10(ElecTransSqrd+1e-0)','cont','internal'}, ... 'contlevels',10, ... 'contlabel','off', ... 'contmap','cool(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'phase',(90)*pi/180, ... 'title','lambda(1)=2.372579e14 Surface: log10(ElecTransSqrd+1e-0) Contour: log10(ElecTransSqrd+1e-0) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axis',[-5.900000106251469E-8,1.6829500196857694E-6,-9.710870805320894E-7,9.710870805320894E-7,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e2)','cont','internal'}, ... 'trimap','jet(1024)', ... 'contdata',{'log10(ElecTransSqrd+1e2)','cont','internal'}, ... 'contlevels',10, ... 'contlabel','off', ... 'contmap','cool(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'phase',(90)*pi/180, ... 'title','lambda(1)=2.372579e14 Surface: log10(ElecTransSqrd+1e2) Contour: log10(ElecTransSqrd+1e2) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axis',[-5.900000106251469E-8,1.6829500196857694E-6,-9.838087453425535E-7,9.838087453425535E-7,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e2)','cont','internal'}, ... 'trimap','jet(1024)', ... 'contdata',{'log10(ElecTransSqrd+1e2)','cont','internal'}, ... 'contlevels',10, ... 'contlabel','off', ... 'contmap','cool(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'title','lambda(1)=2.372579e14 Surface: log10(ElecTransSqrd+1e2) Contour: log10(ElecTransSqrd+1e2) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axis',[-5.900000106251469E-8,1.6829500196857694E-6,-9.75290920707553E-7,9.75290920707553E-7,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e2)','cont','internal'}, ... 'trimap','jet(1024)', ... 'contdata',{'log10(ElecTransSqrd+1e2)','cont','internal'}, ... 'contlevels',10, ... 'contlabel','off', ... 'contmap','cool(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'phase',(90)*pi/180, ... 'title','lambda(1)=2.372579e14 Surface: log10(ElecTransSqrd+1e2) Contour: log10(ElecTransSqrd+1e2) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axis',[-5.900000106251469E-8,1.6829500196857694E-6,-8.810118542837032E-7,8.810118542837032E-7,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e6)','cont','internal'}, ... 'trimap','jet(1024)', ... 'contdata',{'log10(ElecTransSqrd+1e6)','cont','internal'}, ... 'contlevels',10, ... 'contlabel','off', ... 'contmap','cool(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'phase',(90)*pi/180, ... 'title','lambda(1)=2.372579e14 Surface: log10(ElecTransSqrd+1e6) Contour: log10(ElecTransSqrd+1e6) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axis',[-5.900000106251469E-8,1.6829500196857694E-6,-9.75290920707553E-7,9.75290920707553E-7,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e10)','cont','internal'}, ... 'trimap','jet(1024)', ... 'contdata',{'log10(ElecTransSqrd+1e10)','cont','internal'}, ... 'contlevels',10, ... 'contlabel','off', ... 'contmap','cool(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'phase',(90)*pi/180, ... 'title','lambda(1)=2.372579e14 Surface: log10(ElecTransSqrd+1e10) Contour: log10(ElecTransSqrd+1e10) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axis',[-5.900000106251469E-8,1.6829500196857694E-6,-9.75290920707553E-7,9.75290920707553E-7,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e12)','cont','internal'}, ... 'trimap','jet(1024)', ... 'contdata',{'log10(ElecTransSqrd+1e12)','cont','internal'}, ... 'contlevels',10, ... 'contlabel','off', ... 'contmap','cool(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'phase',(90)*pi/180, ... 'title','lambda(1)=2.372579e14 Surface: log10(ElecTransSqrd+1e12) Contour: log10(ElecTransSqrd+1e12) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axis',[-5.900000106251469E-8,1.6829500196857694E-6,-9.75290920707553E-7,9.75290920707553E-7,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e12)','cont','internal'}, ... 'trimap','jet(1024)', ... 'contdata',{'log10(ElecTransSqrd+1e12)','cont','internal'}, ... 'contlevels',10, ... 'contlabel','off', ... 'contmap','cool(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'phase',(90)*pi/180, ... 'title','lambda(1)=2.372579e14 Surface: log10(ElecTransSqrd+1e12) Contour: log10(ElecTransSqrd+1e12) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axis',[-5.900000106251469E-8,1.6829500196857694E-6,-9.75290920707553E-7,9.75290920707553E-7,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e12)','cont','internal'}, ... 'trimap','jet(1024)', ... 'contdata',{'log10(ElecTransSqrd+1e12)','cont','internal'}, ... 'contlevels',10, ... 'contlabel','off', ... 'contmap','cool(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'phase',(90)*pi/180, ... 'title','lambda(1)=2.372579e14 Surface: log10(ElecTransSqrd+1e12) Contour: log10(ElecTransSqrd+1e12) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axis',[-5.900000026315412E-8,1.679000002852149E-6,-7.815858002175327E-7,7.815858002175327E-7,-1,1]); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.3a (COMSOL 3.3.0.511, $Date: 2007/02/02 19:05:58 $) % Some geometry objects are stored in a separate file. % The name of this file is given by the variable 'flbinaryfile'. % COMSOL version clear vrsn vrsn.name = 'COMSOL 3.3'; vrsn.ext = 'a'; vrsn.major = 0; vrsn.build = 511; vrsn.rcs = '$Name: $'; vrsn.date = '$Date: 2007/02/02 19:05:58 $'; fem.version = vrsn; flbinaryfile=''; % (Default values are not included) % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'r','z','z2'}; appl.name = 'Axisymmetric'; appl.gporder = 4; appl.cporder = 2; appl.assignsuffix = '_Axisymmetric'; clear bnd bnd.name = {'electric_wall','normal_D','tangential_H','magnetic_wall','normal_H', ... 'tangential_D','radiation_match','null',''}; bnd.constr = {{'Hrad*nr+Haxi*nz';'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... {0;'-Haxir+Hradz';'-(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r)/r'}, ... 'Hrad*nr+Haxi*nz',{'Haxi*nr-Hrad*nz';'Hazi';'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'Haxi*nr-Hrad*nz';'Hazi'},{0;0;'-(Haxi*M*nr+Hazi*nz-Hrad*M*nz-Haziz*nr*r+Hazir*nz*r)/r'}, ... {'-i*cMW*Hazi*k*mf+(cEW*(Hazi*nr-Hrad*M*nr-Haxi*M*nz+Hazir*nr*r+Haziz*nz*r))/r'; ... '-i*cEW*(-Haxir+Hradz)+cMW*k*mf*(Haxi*nr-Hrad*nz)'},0,{'-Hrad';'-Hazi'; ... '-Haxi'}}; bnd.ind = [3,3,3,9,3,9,3,9,3,9,9,9,9,3,9,9,9,3,9,3,9,3,3,3]; appl.bnd = bnd; clear equ equ.dweak = 'fc*r*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; equ.name = {'dielectric_0:vacuum','isotrop_diel_1','uniaxial_diel_1','isotrop_diel_2', ... 'uniaxial_diel_2'}; equ.weak = {{'-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz))'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e1'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hat$zi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(epara1*Haziz*M*test(Haxi))+eperp1*Hazir*test(Hazi)+eperp1*Hazi*test(Hazir)-eperp1*Hrad*M*test(Hazir)-epara1*Haxi*M*test(Haziz)-eperp1*Hazir*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*r)+(r*(epara1*(Haxir-Hradz)*test(Haxir)+eperp1*Hazir*test(Hazir)+epara1*Haziz*test(Haziz)-epara1*Haxir*test(Hradz)+epara1*Hradz*test(Hradz)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(Haziz*M*test(Haxi))+Hazir*test(Hazi)+Hazi*test(Hazir)-Hrad*M*test(Hazir)-Haxi*M*test(Haziz)-Hazir*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/r+r*((Haxir-Hradz)*test(Haxir)+Hazir*test(Hazir)+Haziz*test(Haziz)-Haxir*test(Hradz)+Hradz*test(Hradz)))/e2'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}, ... {'(-(epara2*Haziz*M*test(Haxi))+eperp2*Hazir*test(Hazi)+eperp2*Hazi*test(Hazir)-eperp2*Hrad*M*test(Hazir)-epara2*Haxi*M*test(Haziz)-eperp2*Hazir*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*r)+(r*(epara2*(Haxir-Hradz)*test(Haxir)+eperp2*Hazir*test(Hazir)+epara2*Haziz*test(Haziz)-epara2*Haxir*test(Hradz)+epara2*Hradz*test(Hradz)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiz)-Hazi*M*test(Haxiz)-Haxiz*M*test(Hazi)-Hradr*M*test(Hazi)+Haxiz*test(Hrad)+Hradr*test(Hrad)+(-(Hrad*M*test(Hazi))+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/r+Hrad*test(Hradr)-Hazi*M*test(Hradr)+r*(Haxiz*test(Haxiz)+Hradr*test(Haxiz)+Haxiz*test(Hradr)+Hradr*test(Hradr)))'}}; equ.ind = [1,2,1,1,2,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'r','z'}; fem.border = 1; clear units; units.basesystem = 'SI'; fem.units = units; % Subdomain settings clear equ equ.ind = [1,2,1,1,2,1,1,1,1]; equ.dim = {'Hrad','Hazi','Haxi'}; % Subdomain expressions equ.expr = {'erel',{1,'e1'}}; fem.equ = equ; % Scalar expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiz+Hradr)*r)/r', ... 'Drad','(Haxi*M-Haziz*r)/r', ... 'Dazi','-Haxir+Hradz', ... 'Daxi','(Hazi-Hrad*M+Hazir*r)/r', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'comment','1', ... 'MagAziSqrd','imag(Hazi)^2', ... 'MagTransSqrd','real(Haxi)^2+real(Hrad)^2', ... 'ElecAziSqrd','real(Eazi)^2', ... 'ElecTransSqrd','imag(Eaxi)^2+imag(Erad)^2'}; % Descriptions clear descr descr.expr= {'MagTransSqrd','transverse component of magnetic field squared','ElecTransSqrd','transverse component of electric field squared','ElecAziSqrd','azimuthal component of electric field squared','MagAziSqrd','azimuthal component of magnetic field squared','Daxi','axial component of electric displacement','DivH','divergence of magnetic field (should be zero!)','Erad','radial component of electric field strength','Drad','radial component of electric displacement','comment','elemental volume = 2 pi r d_r d_phi','Eaxi','axial component of electric field strength','Dazi','azimuthal component of electric displacement','Eazi','azimuthal component of electric field strength'}; fem.descr = descr; % Descriptions descr = fem.descr; descr.const= {'n_silica','refractive index of thermally grown silica (Fig B.2, p. 172 of Kippenberg''s thesis)','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','e_293K_alumina','relative permittivity of alumina at room temperature','c','speed of light (exact!)','delta_epara1','fractional increment (for determining filling factors)','delta_eperp1','fractional increment (for determining filling factors)','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','M','azimuthal mode order','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','fc','constant used internally --do not modify','delta_e','fractional increment (for determining filling factors)','e1','relative permittivity of isotropic_dielectric_1','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','epara2','ditto but parallel to cylindrical axis','e2','ditto for isotropic_dielectric_2','cMW','Magnetic-Wall-ness','alpha','penalty coefficient on Div H','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_NPL','NPL values','mf','match frequency','n_AlGaAs','average refractive index of GaAs and AlGaAs layers (p. 172 of Srinivasan)','mixing_angle','Electric-Magnetic Mixing Angle (in degrees)','cEW','Electric-Wall-ness'}; fem.descr = descr; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem, ... 'linshape',[]); % Solve problem fem.sol=femeig(fem, ... 'conjugate','on', ... 'symmetric','on', ... 'solcomp',{'Hazi','Hrad','Haxi'}, ... 'outcomp',{'Hazi','Hrad','Haxi'}, ... 'neigs',2, ... 'linsolver','spooles'); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(ElecTransSqrd+1e12)','cont','internal'}, ... 'trimap','jet(1024)', ... 'contdata',{'log10(ElecTransSqrd+1e12)','cont','internal'}, ... 'contlevels',10, ... 'contlabel','off', ... 'contmap','cool(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',13, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'maxminsub','ElecTransSqrd', ... 'solnum',1, ... 'phase',(90)*pi/180, ... 'title','lambda(1)=2.372579e14 Surface: log10(ElecTransSqrd+1e12) Contour: log10(ElecTransSqrd+1e12) Arrow: [Hrad, Haxi] Subdomain marker: ElecTransSqrd', ... 'axis',[-5.900000026315412E-8,1.679000002852149E-6,-8.014726129015793E-7,8.014726129015793E-7,-1,1]); uq~ptclear mfile clear vrsn vrsn.name = 'COMSOL 3.2'; vrsn.ext = ''; vrsn.major = 0; vrsn.build = 224; vrsn.rcs = '$Name: $'; vrsn.date = '$Date: 2005/10/24 07:30:19 $'; mfile.version=vrsn; mfile.fem='fem'; mfile.stored={'fem0','fem1'}; mfile.tags={'g9','g10','g7','g11','g8','g12','g13','g14','g15','g2','g1','g6','g5'}; mfile.types={'draw','draw','draw','draw','draw','draw','draw','draw','draw','draw','draw','draw','draw'}; x