From 6808b4a7d3e6027cc114e747aef4e03b92adac60 Mon Sep 17 00:00:00 2001 From: Noarkhh Date: Tue, 22 Aug 2023 16:56:32 +0200 Subject: [PATCH] Add custom sample rate support to aac payloader and depayloader --- examples/muxer_isom.exs | 4 +- lib/membrane_mp4/depayloader/aac.ex | 9 ++- lib/membrane_mp4/payloader/aac.ex | 37 +++++++------ .../isom/ref_aac_fast_start_sr_20000.mp4 | Bin 0 -> 95662 bytes .../transmuxing_transpayloading_test.exs | 52 ++++++++++++++++++ 5 files changed, 83 insertions(+), 19 deletions(-) create mode 100644 test/fixtures/isom/ref_aac_fast_start_sr_20000.mp4 create mode 100644 test/membrane_mp4/transmuxing_transpayloading_test.exs diff --git a/examples/muxer_isom.exs b/examples/muxer_isom.exs index 1eba07bb..fd42eb19 100644 --- a/examples/muxer_isom.exs +++ b/examples/muxer_isom.exs @@ -30,7 +30,9 @@ defmodule Example do }) |> child(:audio_parser, %Membrane.AAC.Parser{out_encapsulation: :none}) |> child(:audio_payloader, Membrane.MP4.Payloader.AAC), - child(:muxer, Membrane.MP4.Muxer.ISOM) + child(:muxer, %Membrane.MP4.Muxer.ISOM{ + fast_start: true + }) |> child(:sink, %Membrane.File.Sink{location: @output_file}), get_child(:audio_payloader) |> get_child(:muxer), get_child(:video_payloader) |> get_child(:muxer) diff --git a/lib/membrane_mp4/depayloader/aac.ex b/lib/membrane_mp4/depayloader/aac.ex index 658461e6..30dbef67 100644 --- a/lib/membrane_mp4/depayloader/aac.ex +++ b/lib/membrane_mp4/depayloader/aac.ex @@ -62,8 +62,13 @@ defmodule Membrane.MP4.Depayloader.AAC do depends_on_core_coder = 0 extension_flag = 0 - <> = section_5 + <> = section_5 + + custom_frequency_length = if frequency_id == 15, do: 24, else: 0 + + <<_maybe_custom_frequency::integer-size(custom_frequency_length), _channel_config_id::4, + frame_length_id::1, ^depends_on_core_coder::1, ^extension_flag::1>> = section_5_rest + %{ profile: AAC.aot_id_to_profile(aot_id), diff --git a/lib/membrane_mp4/payloader/aac.ex b/lib/membrane_mp4/payloader/aac.ex index 7a6f9f4c..aa246594 100644 --- a/lib/membrane_mp4/payloader/aac.ex +++ b/lib/membrane_mp4/payloader/aac.ex @@ -7,22 +7,25 @@ defmodule Membrane.MP4.Payloader.AAC do """ use Membrane.Filter - def_input_pad :input, + def_input_pad(:input, demand_unit: :buffers, accepted_format: %Membrane.AAC{encapsulation: :none} - - def_output_pad :output, accepted_format: Membrane.MP4.Payload - - def_options avg_bit_rate: [ - spec: non_neg_integer(), - default: 0, - description: "Average stream bitrate. Should be set to 0 if unknown." - ], - max_bit_rate: [ - spec: non_neg_integer(), - default: 0, - description: "Maximal stream bitrate. Should be set to 0 if unknown." - ] + ) + + def_output_pad(:output, accepted_format: Membrane.MP4.Payload) + + def_options( + avg_bit_rate: [ + spec: non_neg_integer(), + default: 0, + description: "Average stream bitrate. Should be set to 0 if unknown." + ], + max_bit_rate: [ + spec: non_neg_integer(), + default: 0, + description: "Maximal stream bitrate. Should be set to 0 if unknown." + ] + ) @impl true def handle_stream_format(:input, stream_format, _ctx, state) do @@ -59,9 +62,11 @@ defmodule Membrane.MP4.Payloader.AAC do depends_on_core_coder = 0 extension_flag = 0 + custom_frequency = if frequency_id == 15, do: <>, else: <<>> + section5 = - <> + <> |> make_esds_section(5) # 64 = mpeg4-audio diff --git a/test/fixtures/isom/ref_aac_fast_start_sr_20000.mp4 b/test/fixtures/isom/ref_aac_fast_start_sr_20000.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..9de1e93d4bf077e12ca0b815be957a67a389fe6c GIT binary patch literal 95662 zcmaI71z1&E)Hb^5mhSFuP+B@R-HmiNNQ-pmrc*$=8%Y5L>23sRq(LbW^{(YP=lQ<> zf9}0&@0T&wj4?;dSZnSH1OlP4_4apn@N#p3K;R)D1;A(FW5w&@F2DfrEhG|GEB;8zA}rx|jT)lK*cUJOqN;;_YeS1Z0|cJN<1F z;eQqUM;dbf|4RC|iT|se|NnMT)m^L|EC3-iF4q6IUA3|hpw?>WsHD8fQo__c>m7@2f+auKvnR1YU5??1u_UBAt8)FF+_k8 zOA>-f|6WKy3KDS$GY%>;z`+4-hLCu9d;hHk@PK5vMhFBEEX@LFUtTRDeJDHxJbH4**c#Lja(E0Q(^40Ac~$003eR z%KlpqEDOrM1h5OFfqexmdjX&W04Qf0zyJWy=Rn(k?Oq1x;=cgcutrx(5d0>7Q05Bh{5BeCi0rWda!Prj$mraL z08ocE0ASp~{sL043|J4OU|q0GGXPM>*MO~<0Kiy$0|43&_IogXV0plwf8z)01IhyJ z26Y4}Xge^z{`wxM56S>#{q;L&>o$Pz0Kiy)JTT4vwFT_gpbW5mP;bz-|Kx*qfo+3j z!1h61LAyZx!Mt_=U|%T*0P3R+w2Ahw4#1%Q+oyqk08&tozwt!?_%i@o06>3&Hm3c{ zUjY=<0n`!n4H!F6_hSIl0Ki!H007JU7k5yTKU>Hzu!)D!eQcn{|P*T=wn zuueY!kO%z=>iC~runo}XU>mIfK%av7AO&>?`%@zT(1s=epnt)9Fb_lv0I*$92B^n> z`hXOS5vU8ugLS~RK!1Tg`~(1$3(5!E1?dL>-2lKmuzgUc5&)pCAiz9O9@tO7`x*eC zOb}@R!2Z_>;J@- z>JQlbx1R}ld0V*w>EMM9JpQNyOP?SFq6^sb3h-qyFz!bHyUtO8B>)=&_mmj|XSNA} zbGCD_w(#DBho}ILPJ%*Qf&yH;JUkG1?;4$zJr_gWFVBrS4Gk~8?CR6egznSAV-RKz z*|ZqAuRX!g*uA_D2>AKa%X3J;29^mmlxWskt**#zYd3wAI2=AER%^|wSk!Eo)Fss^ z(@IlT_1TRQQjJ(qWtjV)FTLphd12VZv6TFOe`8|Y;aIZQw(6GA5)fQr7SHJE;5I() zoKpDbF8u!GyR6Vbq4H-(zmS@m0&ZllBy?%B(sm=QfIcv3mX?69AGI>~p(2N-s{qRr z-)DnkG^zt%a@%h7&iUQK_sgG>kCuT6nkdoZ2~vkW53%nH8-$i#KbI)x*B62liALr> zSS(=1pv_6@-Gr&O(M&B|-JjSmiP!1M?C^~GmPx!s&(@W99CzJ7L;Inq+}$}^zk%i? z8?n*t&A`}@{xv19%rzonHtKY@HHR~J2iX&>okga@ zj0?l>eJ&8>q%930glcG|7su=~v*(PJT4p%((EO=I3|O9o=WXt-?znWj@H?$_x5)5f zBh@I)PSYcx4dLOCjY;KbOe6@Ww?dmx46~HoS*m;zkD8HMf*(c%O<=9nQ6R_Bd4tL% zV!jm9gpP?tc4peMW=f*ZhsZy@(vORyb+7Ocxw5(jx8a@P71YG1l>%A|s>8^_KL(uz_b2f*b>p zI7G)%WA~d*JqyT3BXx|_N-rwYiukU|QO8jOU(AXZ>qSkF_Go<<_DZ$AM{upxad!Q! z&YbE8d6MlUGKQS5Fv`+gc|k<4+QDRP;TWW68rK*|7jj3w2D<4Af$UO0FFwkv5*JRT zVQjirS9RYE^Hpz{RWp_>?%Z-LIc|`mPT8M617~RmhT~dZ3^yj04vpe{=v6&~Bt$D+6RIIv zs<+1lITS3-yN8p&y?M-9`%@s>No8qd(15u|^_6Omv{60yw=aiFXMtzas=Ta#WNHFq zkQkDf61)2wo;2KT{Bnrb&k-sdsbV^vA+P4K2s}p|;wDr-mMc^#CYQUKO8)kM(1->8 z`{&Z+B2P1a-juKL5V{=u$#Gz_X$$FkD)K$^46N8*g9HHbD;d6jq&tRPZ zmi$IAzVm^oEa+5`yqEvX?xq4NBbPw2i#Hk0;ykuD|H_7_``nQ=%K;Nk#ddD3v5=P{ zLq6Mp>yBP#V)q}?r_ihZvV0!yR}M7>OB;u5xejrfb<7dDoJ1Z*3#I2_A+)5Y*&4a* z@LOA8Brd(_BVp11MuH0hM1mEnA+cp_AN>x~11GPTcJ{Xp?qk#AGy3&LZ;tRqFWxi3 z`|R7yE6xM`lplDToDtbrn8-5kJ(OC9Ua!^r#Ej`9D)bnu3vQpVv0Jn%ayG57Cs1fQ zZJ8ss(y8F`#55x_UpuX2T$0NjvVYu{xsE^x^(g)k!QFYw{PF>oS);d@r{+S6hk#Eh0>I@+bW0Ql~!TPzv!61|JmD? zKugY?U?kHQsCUpT9XI6UTga8|A5%<+N{O=K(Gl?C!64|uu_RDUn0u=Ij=``7VWpCt zQA6{az=HtnD{bOdDlVxXt+_%i=5O%6s*9tzb{z$);@CEf#eCgGYQQ!tun9NHf97O# z>RwADuUJRqqdrSZU~0? zhOhD3r2je_glA@wL3Y@7=lXZtd|$MuCgp?H<*a#Q9}9}&R+jNX3u=wpWT%|S*lv~k zfVQ~UX znW1xS79wbc4F=k}k~opt9Y zh%L%?>#$kL7ppX%9gBW)a?bA<_G+(f(wp?sn$L7N)f!#1-}oS4fuW~g9TAG;><+Gq zm%}0q8dooh?w86_5*pdki{)5lh=%m?xtLMeQ(-$|%atjQ9-cdtCYhyjS0&4G^=<9( zA{-7)CBsZ9P&s-53q0*XWQ16}koibv1B8&1czJEOIQja852FhiN(4p`Zp5^vU1P|t zU4!siMFkOV$V@0!k1S6u;^hUS`mNgS6F4+0Qn}1BPa;sOmPc&{+($MUm zb)GH4?EJmdS)DSch7MbLNhGTjZY;|b`7tstj>JM#+EFZZ7B!pVIUn9A@|TXoj>FaW zE*<+e9Yc45wge%fshvwUO1zpBzfMDjk=3+?aB3GD#-&i1)TG@lgBEG1`RXaOHx73f zdIT=mb)8LloezHHExI{(UX6Ej@zl*T=tTX}`tm~Fb@RIY>a+W{e*g58iTkFs64RHG z`-N%JD2LkOu(o$y3^VLTaFQP86yS;oM1ex*>;XG|VL@6)hXm|W=(f2IF9o_n&C^wc zxx~+RUPru9!#`|g@y*W@aX!wOx8qw>QfU*cYKdh@Yf)t6DC)N#R;1^ZQkNABwKLwL zB&5cH&Hvi3af}PDCXAN8=WBhm$wO|SWR)MYlr@R_^=WFt zV$A7dhU-fu>8Q&?$2HS$94OnyStE4qriS?SYYh^&<%Ljvc*FA7;`7Vrw^~f)kEHtz zpB~0?=bqqfYjhZwwnqe5O5yA->kF7NJ7b4|1qxc0@RvXc%i8#?6raVv{HkZdhcXbWpp z1bs?K5B?I4U*hg=OoCTq<{-6sDCJIofph3-i=%M2*pSmh^VOIW=@p_7WSI9T-DHbY zd05xfm#w4pt(wqKWOHuM9*6tgfRBwpW?8LD?C1V+tF}U>YIV_xFM*Dwox!|s>_~XJ zp|uNj2EwZNQHf}hJ{lRZ=`#u;;Ea5&r-GCaNhliZe!sXeNK>iHDu=EW&TC8TP561v z$&k<<^)y%`<$?P0V>HTuMigZl(S)&}^H6H$gevK97f*R-p#!gfqsS_6UF=57j{=y+ znPI9ZhJ+C2Luw3-$66e^waim;f+OV|V|W&rHLMN7KmxtR@24zn+%gYCLMw*IMtCPO znn7`K;yQ^&zR&fW>ZK&(oiy!kdJY|*bTj5sP2Thde!iIZZuPTG$D2%Ly*9S}Bv8_G z{UO+IZf)UMNUI6U@Dd_6YDV;T`8@5wV2KMQ5N%iqa?;w03(;kjf@(z=3FfvlwMe?) zCiT`eoc z9M&1Ztfk*CR;biasP3j#t0zRds{}$U4K0K*Fwnr>hbBTa_GqllY3xmjbomhpiW%V; z>j}`6qx~pv%Jn^|X1bO?H?T~ap7sx<77G|TRSpo@J?6Ui4jn!&44Cpov83Y;EQyV* zt3P>`I4dM=f2~9|cHRDtOF8rjI5D4g(BtB;1~lYL2v%7$85LD)MG}-@erPDDKV-*E zoFMmszFr&*mj98hHmoh2bGZED=kM2M!M$rICmZ!$W}ix7vTSBQjggtye_%BD6BjfX z2OW3372^`kK3%3@ND7(enOHpzn$ zmrEt{{l&P>FQ>?uuJ&#j)8a%T0fTufvjioT)`=ZzNH{{2;wCO1re?^IQByk06MmWu zL?8TnGjef36<1!)9WB98msBYZLMTKHg+ML^Vu`Ka!txGDvw`+mNQglaE2JL*PHtEc zUT9K78;<)s=%3v>$uDE4Prh_yZakj#bPnxVE}KQWgh7XWc0>2SHQN;m_GLv@ zU}4?7+T<0x@z%7f!yo$WU)1_ zHp?E){d}gziEwv8qqbf@a8fuU#Q7k77nJ<0yqK#68U?&jY9-Ic+Y**#l%*Kcb7LyJ z39OCYi=Jl?B}B*L{qy7trkH3DL#`@`6~lD=gsQeEx-L&mBYA6VblK2EZd)yF7^JGy zdKHpES5jtsP-VjrL3lIAzv~`Bl!hFThS2bFMB;4B^qrg zR-JNPY7bc)501651GAG(XNBLtZK!w!s{dZ~|zi_)mb=>-&(%_D1k`lOydVYYvFsPe2%Oj-yL=AZ+4u`8CR4zVl>B z=j1w^FoBKd=20v^Fmi)8&}RFPkkxgr)7~UjH{EJV(h%+M?0m)`RCoNIe&^nVQ`a$4 zm!PPOh1ZGEVQ|ekV(DX{Or@3LZ+jjBY`<-WhKFE@H^~*di#2jaf|`tYR(kaO6K781 z*ed1yS6JPT?uY~iDVY|%_+HWDQZc9yCFxQl93d7N@nW2?vWe%96>uHY;SQNS%Pi4? zl#gY5E+5>&3edFN;{DBnM)zqH^FQ01@WE9lkDE3er!&9Gcx8T7h7#VRdfK%6nu6aV z8vWI7ps3l2x{+a4lSY){LD!h@1RQidA|LEj)s63u)*ZG43Cxey>agW=$**T(WAse7Ho}AtJbuQy&7d1<$JOXxgJ+Mwn<_DX%1imMstUKVB%fJs&H4(VvuM znGL_iDs|c-eXFwBGte>eD(G1g?X$wgsEf|EZf#{#z3OnSLZZ|J&mJ|E@e$|#drj%y z;GY~NFz=TIZYmBgatmX|WNpIZto=r}+?J_u{eQ>NjS`8sXd?tjp=2X6q%puq8 zhdQnZ|DI5hXYmrh%#1PO_kWE%HCHE8!(Z!n=~jQ$zb{s^FY;|ThxGa{g zhS#B%F>#KxI=opuR`VTwMT|TSWik%ODhHp|>Qp-Lu`p!>M1vLb7GOj49MvUp1X|&_ zc-M!X!joZXc_V1oF9uh+$2!*VOdCwO6+}**e0aOb9s_@JHSc!1t`mpOH1lbSQQk(@ z!i3!Zpg+-w*Q3#cdsC|Jl|Q+ziEChpl{z=i*dFdAd!fWG*@zgr_;OK_>PsNU`QD?3 zJdLEEpsxO=)BIdrqQcv#r)@ep_O;B`xmQn#QTT{(>YF;9?JQHAYDE(kOW&ZIiQ$~; zPnuSt*R+i6tZwH&y^9$0>Q=>LywD7aAklB``R^^wxEQDR@G$M7#$8}+o>Ld9p(*n_ zYIvnimB%*4n9i8N>vsz6x96j!PkGOzvXZD=zhLqX=CghvJAgSJ1&&hIIP)S_=ituC zQ!6*pM?_RvWNa-pDL19!)ViW4n;et7ZZzXSJe=o)g7Ijtrl4d6)$D6?pDH5CB;uxg zc&bd_>HMspD*b#fHq^S9J0;5Me{jTVeqQs+?rA9}Btc0ca= z-O%&$w#d!eu7QT9&f4vhuNj0HU;X;6XRb`NMwA_lmw{6Kx zlvFt+2lV0O)ee&#bm3wo;iWo6oZchm=8(K!&&K`lM64BS;{WLAEkzGtw%`)iCUYG4 z^4mN<#!V4yWnJy(SUP@WvBRFnI~qbRyCUtlZEM^-Seah6+#G9?Ry1(e=Zon783N<> zVR1hp^u#OIrIdAwA?TM0`8%$Gr+ir%p45-Yq~F9g%Oh(9#=%#7f?~04)y#RDR&1EB z75=4NxKi+RARIS!^-}fK{qE83*+a0<Pu&TQ-w<#I523T?5mj^k+b+seiUH^vvW$eE@w3@FYF8`quXip__ihim3l5~) z1tPcA_&I~GH1D!>(e|%@4EMWX}E$V zz+^NhHP76Q2~W_)5W~Bc^Y_V^6G@6h@%qQ=P0c$~sGM{a6rB}HlKIL@*kp{U!%=)& z;FksCc%MDYM~}jJ$15TKch8@?wY!(+hg~@w^$#;q-CxL#I&hsrCs*Ik=2Q~ZnNyhE zi4_GEz9X|xlH{~&a@Y_?9ndOTE=s>D>|C2Txjc2Wt>?DZqw}qOz#A;Vt*u||En2GZ zN%@GLV=M2KJ;q^5UxOrQv1Uftt)%R)y>_RL@zd_Ro200Sq_YBVX$(V(rL~5;5v&LL z?4!UK`{q;6S~Oj{e)-$K3*+gvM&0@2>`g!xkruF*%nD4r9==3%LMCcBE~%+B$$Xci z*u$?KX%~qdWnNq^9xopM^z-?;__l+TDUDKFDbY)(e{u7~UN77q>HQ5!ilGKMMj_Q$ z>Z>%G5^eUNO8NJ{CE}Ci-$)(t*_B3fNT^rnJ||X+LJ$5?=KUkK4rxha-(+Qg>$b{( ztV;H2Q8RJ4QXbQyzlrVq5LV~DXoM*|JRn03Iw3*_SzZIZt5@B zKwueCqi93*?VaEI)}PDt{ccqJ z-TqntG01eR+(=o?2PH7=aP{l@dzU4-EUKHJQD$P}+BU=yEh;>9D-UCfsRLj9HUyih zyE!XG_%w)yyPi0K0Io_n{SF)4xQDL1Rd7r#)I+b%iSM(1n=_Z~av1@ZF}^L2Z1?$c zpWF}@vs2g8F6Z6R16AD=3~J2HGkAMW3Nx+X61|P*i7y(wdG!0GXPye%jr@8p=Q4gV zD1DTUUZ#_VR{eJ&QAOk>P`L(Xgn-QWGGmS*mZFk$q2=ZRu1faG3MrN!VJ0oR!q11e z`{7?b-N#1Vh0d2b%q{L+o_!ik!dFU2vry7z90WJ;O^g_yd560njeGOU zqNSPf+_+wb5zz*QYt;LTYQqPcd}vl_W$|1jO39cG{FOjV!(C5QsDUo6b+2}!&0&Fb zsv@oE7>Asg;n1eNQb{VY_zP4c$LDs8^7wg+TCRA9pGVVWHEi|mp&2^1yvnFAP4P); ztA`v4MHrdPaMY~2EXtA@dkr*^1&05iyimk1+;KjI$0e(ck%~O@v0KS=s3>-7u%^>< ztkB@C{b!ZmXT{OE3p#!1&cd5K%B(IU02cY?cZ*eJz#dai>~)0q8?KR{clQZ09+AbU zqB)Thg9{&)H6%3q(RW}g55seI@MI6$L`;|rhPHAq+*(y-#+o8otL1M>zyviu(!2SO|PRapUn-NH)C1n6Xh(E zoq5#U-oVB5ZX2s-s9K+`svVxQn;I*d5j&|h=D&zIc+ipi@-$M{$oyTR?ptt*uHzWN zAXJgX7i~yg+*ms%b#AVbLuV-}EUBxx`3;;Dlp&9&-G31p@j7<7PVvF403#x|eI2{~ zQ^VEu_3Q_`Ct@tA8Eggj)jDoMvvfFm5&3`CW>*X~Qf)nzT1kwGge)QKxN|kg&n9Ve zm1Gh^bA;A-1#rU?P*9i{EFD#bYtZ#)$wk>5J9O00p-Sz#sF^G+`O_$ zJg$K4eCtL8@54j$Ma%9l6-g z>P*0;=Zq1ZAcY|yaQ5K7MwyimQ&SF!h4k))sL2d5Pxjb)9xVL+H}lGCB!=CKa(=Pj z7tgz=&%XnkOKZL_%$m!)_sXu??S^>^EpbE^Tz^)!qh30YWH%V zgnCO6VC-R7mJbsZi<`}mz2#%_X}5cg$@P&0A-;W3iQ!}KSOe@^abWxCmdnHQzG@}r z-CIsfeST)G!80)zxhFRmD{Y#-M6**OW|eA9y8Rve7;44FdI2u2v7KKeVe`^eCc*7V z!RK%|x^)v4O!zm>W`--nT)(;`iElAr|-llmzD~M#lBAqk|Z>b(O~K7 z%A(WJ%RIbReE#WP;4PEe8GP;5eyIX9qQ0Jq&LfAwZr=$C2q=cQX z?|&At*`oe_bN5mCBrj{q z5s<~P2zJq-aGf1DBPK~h-&5O8IDgSTFzLv%%cbHcw*Ig#@T2`hfz2~^^AL8p{<{RgR0$fRC@GaTBnam~kZZl)|GVcV>ynCUTVFtbZvWL_3JY5Ae`CO8*x1 zW-{mD$uD>3r)9JaF4suOd9$}hek(;w%g^~|u?7KN8d~?oc6txx+j7Gk+}{Hi6Y*pm zg?~&FgIx7`Y)23FB5-IRAKW!)p&9JT?f#Y0(uzA&ScIcdcuK~LCI(fi{HjnjtqBDN zoNx)VvLl1mA!J9r`vv=#T;E8yj>ET@->;=mNP6IWbjRkQkfRgHm>@z>qJ-`#(<_<1 zwbr7?eL=T!J^D&te`9_%D8T7_u&!x$p7F+XF$uL#TyQs1C7Eo`RHcDzuNNp1#{Ks$ znJV3^rsfl(SxLRz!pM~fQ8_sUZa`dX9VU{IUO72_5sO|*5*#M*Lzxo?A-WRo5%oQI zPzX^H+hrAjOf!UouGNE#b&5%CAGDf_oQ?cyg=IL;@vE>&e@+@!t| zCi|B6f^t#ZCBsLF(7<*sI1ay(Bv&=KK=aq39Pf-$?qTvHO{@}uLEmZgIj>=6HZ!y;r>2{N_rnL^PYv1X!Jsp19aZkJx8Ku%*K3rKArTXc zXfCBFGYmM`@N{a6tpdej!>Jf)FqLPymcGwFXFNC0=ji|WCn-GK90O~M-N4%W17qwl ztKUHS!l%s+c9&a=uzTM@V%7Q@fz|Pz?{#O=tZI(FuWFL5T5lJ>+^+o)o$AtxljkCV zQ-z>a@Q3{Kl0_DY?CKYkRKH&uDQ_636$;f5c`=R6mZtrp^wLl(nBl%$`EK+A-pr&; z#>j8JWxhpiQd9`oqL|e|#}~(=nc`RSo50!PAr6E|)>1eY>5#P=ay~hWIZvE+GOOb* zq8p;+(xH$s%#l^^htB1Q1Q-xwkf0WNo9d;%EFp2c8kY`jyb^jkT`U$ z^rug^ePvB1=sUhWIZafrkriA1&Jp=oo-Nq3;U#RY`latIu^kSAO_vL%dKLNyP%k70g0P)vJ%%N*D8#{0SI_GXa*SqaRdj?eR6$?bnv+8k$go zCAQXWkEha3KGXCI{Ibva@4G(qxWn|Xz{lZ5;IxbVVnUj3{LC369{;2<7V2CR9Dk51 zBxLZVAaSWWyjrJ9!4pi(L$r}*Tol=2tZgm0sVf9TTD`d{#IOmTgq&bCc4B3+AA$}q zjW#}9=ytsH_Y%)=-x&L`)jDVBh!4#XnF}mZ3`WF#;Sz&u8kbfa_OP{rIEn->sqybm z4^R@V%b(aH3lSkmx&$m`EUK+789f^Tyc1Gl6H(n)eF}$Pw#1SVHk8ZBratIf)HJp< zeh3>z)si(Zk7SW0p;ct&De_YyK~0a7pcO*LPpK|ODhe7)e$!qOC9PO}Z&b_~sO4eF z+eVjN>*ye>0@3D_q7RX(ln%`ced~ut3KfEEs=_I)P_q2-MJs#jO`KsVri$oKMV{=Y zO-}35PSB!nsg#7EQ+8Rm5g?{9u#+(V%cj2l^HH^y(D508n_!1DaiVy~yOK4A9hB1x zD{xHLUfz-w>D;|)eCQQWVynyi8wtv^p-HX^~wNzY}MTjDn zzM?KDV5IDC_?k-CKhX0=VcFhu%C_fWYPkh|-pcbte=aM~*I|JzE58Rx_BdM$+*7SR zl?slKDZx3RZbVe;>AVoT5Y$zFEYo3y53~Id9wRDZUC7*+cJ=3LMAl{TVk^Kx^s zB(Th~L^i!F&m`+8Zxw3RvPae ziPGoH&J+R+j0^?gP+ih4`l6OulQu>lI&?mhS&pI*;&`$$1))0kPcoDZ$d?s?p14G< z!k--+c5ZxgLXYCQXW|-sMp<9y!j*AXOR5W)^aN59Wm|Ep8+`PgO@iw$=x@2Q>tyorJYN>*I6QR7a2D3 z=M`rvETpwXmDV09js*rXp)VfzpVfK!+ZgZM?M9OuP9LkZlr8YYPbrjRoombX;$`H@ ztW8CQgz8r@S}__=5~#8{YP~;oBZpCr&F>^ILKSz)1R$L{De>;Cp%mOW{DP@$#O{bM zLrraq+K&axZ<^%@6%qF1zS+lN2w77+<2^{R6X?rI^d!EE)_K1@!Cskk!kdYjx_ua( zSVxj&)B1-URa&zSn{*42ucgWLrIye?!-NhuBHrglArH32#)ht;b!Fm;JhW>+%$H|6 z!YZxV^F%p4cs%wu{p;t}59)$BTcxM|rb**g&2#$(bDd>Ox@5`@={dMOO8A2|^lIqJ z1dGV}u1!_^FrF$I+*y0os(`jSSr%@7K4i`M)i^zNnt7Zy!okv_P{f_7F|@tcNAtQA;i6@AU^1-3twkU>K;|J+QjH~wv?7A=G9J`g^2YQzDV4pG6PXbjIMPZ$ z>5>i?hNUVpFRqxCDycq1vU!lmcIRlyNF{TCH13#2C z4Z}nnA`%+@>G&VX6VoH9#oh#l09_x>dE1Cs*M+i_`yPLOfceyHO8J4-8~z1~x|40g z2Ev0l!u^lo+ehIwN}{l?h3eIb={T+NTunyOx9PZ?Mfu2>y)+awsK?gB2856-7KWX> zQNE=2cCORLRZpQu;)51O^jj;#E9*i@AJn*-dos&BYlJqqek27vc#hnesqLwHwjgTS z)1koQMhL?3+I(Bui)P^0bga_$h?{G4A}p;(QK2W5yO!n|pb6XX(^L0vPB@Sce!#tEx-)F$1PwNC7GLK|DN|7rK7Vs{aw==c?%unftHT&2!DHTa~g} z(jrkQML9D4q{-*6?at1@gF(PFP_3VgvbhDg0;0Y2Bw$?Faog?ALExUJu;sQ?`OxmG zbr#$qKCi}^%5<&3`v};dg9=S68!Mlvj0tQq$RcS9QRoVceAs61}PRi-PA|E=P zEnB)?xJQ6M^R|_?Cfd5-zV;l}k6hYGsTP&3IXgGKs4|Z03?1Ba9WRYs3?jt8fkLds8-OV zH*54}^v6)Sd&^l1*-MiurRn7(oRSi>O38@}GkSF}gu(b!h_hof9U(>KB_Ascr&u(l z>Vlb2$s~PtQNMNr5o>V_wSboi-Il@FMUV(w#_QbM<8T^G-uRmX9)Zhlc`~)ywa(RW z`b~s$mD=Ey5$)q?uuaN6T6!kmWN&Y?kDl;~ev(;=#mwsBvx7yQb-q-(01rAtm3OcN z23hM=?OuTil_w%=sF~Wus57Wf*H94U;cTF5ym-y-B1z>wyl8Kpl`QBWBe1=ygdY$> zs1$Uw`aP-MgF%ytTl5^k@Rv@XCn@@r{k&?2!$<*&ziZ@fzzF8zzs*MW!Y9Y~x z!op@M2c^i~JgB}6WDS#IN|96vT`_ux!KBe=Xv%I}uvAt#fjm~JfzF(ZOp%^~;U$f@ z#T}M#JIZ=(_H}BIMl+bT6*a49lS<{4(X(3&H^(<`fqorD1J%e{#pq(ius|QI?=AzTrlc2OhmDYA0xWL*U~rc z^FVkZ$xvsJUziThW+-|K5o0VwC30eMT@ljeIvqiE)_vaX9ZR@B_ImZ@{!LcCsaU^i{WDpRv%Re9UW) zhrrzF3VfM~b22PzAfoHstIxmT1uGilorNG_YBm4BZo7Xo#JhfPXR`$y-uk;>Qgup{ z6#*`Qb6z)6;B_{o2yaBQ7V+oi`R#!AhvfZG&U3BHqZgQ46C$EK>xNN<=N|3dE=f<9 z$;zwSs~0Pq%41GdaR(HKfK4d66YF zJrkt}t7XbBVbnl0Ys2?ss4O1EilIA^Z*nkPIVig4H8l=Pc_N#>jo5r(IcKsJBSc0| zI8!f3HW<$GIZ50}h*L514lBbf?87r6AKa}E{+o4hGP9$a=x=)8E%k?A0uNg`R9{pA z{i=gOkEldruu@dtQQ5)_dot322O)M*7iN%-41V> zeQLK%xwon(*?qWiSgok8+8)_x*C~+%l7DBLKVNa&6*eY}jft(7~ z@hq`N#za{ZMJE<6Ge{D`7i$ng3aeJTTq-Kk12__?A-KnX8V0Ego=?SML%yTIi~`YJ z8q2@1hi9~njgD1iSh2;*4#<^Q(N$^*XF+rj!#t|hQVHq8KJH9tCzXEogh=SfKH<|a zS}+Jee_Ba8M?gDh0Us-ZTG@yc*af4x@U6cT8Yit=miYXE!qGpH)1tF~pIn8CcDNgH zHU};NE96ysHO>mtkwutE1VVcx-EuVRH5)G4!Lq3E!^$7GeXpJhyOm8RD9o@tV$7Wn;8BY zDV~nJx4x(@?2tGdD9Ew5lF!;6}DCA#;|( zHvc)1e9dqJM;%V!Vlw&14l7^i5;$sB2t|&xaKOo}W^<6V5(r3q+&xo!JVcNCk(&pdrvYOZ4>sUXGk@1()?TNkUt-L*N9Isg^Cb4a0g0`r6%ycXBGkdQiOEbdNT10U&sub|$`Ttnqw3$IqT*1bw~ zx`^I7^%h)rcjYyg8AG6~V{*g&P67hvCxdhA}t~i!8y8 zN}oqxOzz*P(0lNu_S#k!san5Yy`~ZH1*F}>xx2dg+{|8~eLSGZnTvo58YF^vil8@R}PVZNSdeb^+<%hEa!K2H; zy)=~H7Tr#Lt4)I6oC-@5DXd7rnu>;JFPOmZlrO35M;Z;4gSX8`8<=|1xuj|(Ta6;s zy%tWiXXj9&$09qNHlemO^<9uSg%7PvG-KTN5+uyQW2TecjedUf{m|Erv+ULT($ZQ)>4-`TG}9X1 z#y`KDwbE+U6@}IjbS*yXEM238OR8%->~2CjgwQ5F>Z>E|EBLdcN&BI<1T^nsJ#VN~l;@eWig-Oa5nJ&2773eYLp(OkUCfDFmMNXGmuT_P`T=uc zh`i-BDUUJ4@A8M-z5dVn?Arnq?km!jr|WRSBwbq~crl!_Wci{y+r%_*Qf^N7e^&X& zZ9jcvfnEu`?fV||1$<}b_=G`9wf{YOXq1DM)FLZ_i9ZCxK<(?xcbLsF=6+4s*uRk! ze_sZ-q<(8JG;FRTj+5JhgSc!!eN%U+wTy};eJo!4WkGLyb zOF73B7S+z;Inh;9QPNj0$CLUs=lEQ6NjZ=Ql!UBfS zH2m)X-P!<+Ay@Z@kK*k!?~tiDy_n)ZrZGhD3efFy0X@8qW1(7qYPtq?{lw2r_gTH) zhMB1un{t11?dtn>YWd;PV?E~8o=fFxk6oAgL-j0Wu6%oyFLY;Yh_sCL`YpT~}OeD{x3 zSs(wM%VnYzpVjVeS+_KSO|r0YI6gJTFtXAj=HP_T_SSisyH2nJ?kYOLQaH5VsgKE6 zjaF2i;C|qIzQGB{#)&z<`}3}o66Dkdp))_@qP*ATG>9)hf1bV~0*{IhSLIUe4F{Q0 zO1XV;=_3$R;D5oY3&p4dVN+~+_g=#n0f(wf4S6aVeq;r;YWnO;=g4zsQ3AlbB{;ZQfY6x^tPz_=~6Fj6mLjJdAY?N z=gQdCY95&f_L;5uk|$)3Xtn?EqlmRfcFbGas*9H6y;NV(mpv!keLeo0`z^-3$2?4i zV$HSHSk1iX3dvWN)DgeV#ST9+AUy~MwAsUASzva#N`+a_bVhE9RS8&To=MAUKR#@UDTbpDik6j{NIjxO)zeH{4X*wy<$EqBi zxpseNw2;n`ZFc1jz-Qu~FU)4`1kuunR9T#UWt3Z{SDMSrb788p{)*m5_8w{f&)PiA zsHG3ZfwtpIm?P~!mXxuPMA$IUf3X`{6M6FByL2;o&dSJ84GSYscT=~=^u^&?iSjyH zrB0#dP&{eo8;SbTG28JfzqadV(tPAQT62mM;INiy)KA}`Pf=xvw+ABS-BYM{-h`yL z5xI7~j>^a{u-0(rODkebW2)EnTF1IC6fYEDb8|7(onlhbX^biB8OFI^DxpcScy<2E zOuvH&6B|Bvotpb8!F#|jg}*Q3B3V0sTHbW4Y`TcZBkM85`x8xzqT|`i_?(pzp#XVy zmMzFNFswdGv7(AUQpdw&yAQhRuCjW4hmUv4iM0`wwUw*N7H|etDwP8dnqM1;nW)Eo zY@5>>n=f2VR&Je}D_A*o^z#ICt}VqPPDK zRbLerN7n{9ID-XucXxMp*Wm8Kf@^@_?(Xgm!65{9ch}(Vwv+GQz1XL@=%Kp@`sjP= zt*VoZJf%z}+vSu>V3A_~>6J;i)@$cs@g@+1NX~p)ZLT-ko?b4+hhddK)u81|{=ENw zfFx1M;hE9EbKuZW8CQ)eo6*+e?D4geB~LBfB7QPJ*Yb?vgAiF`C-&(?m75?=$tSM7 zW++N)@+k0HUP_Md2kxu5Xpb#%VF6C8R0xNBLhCs~3VzQ{*c*H<>q7j{DL9g0dDn_mxL{ z4k7yk8A-Rn476W!e-d#{Ipe-iEQfOu_wuPPe?#NBh;bjmWl60jN*J2&%7LFa_q(Cu z(1mJyd?@s&6#CZcTK#`Lf4RUV0A$r^erqygU=l>%E+6| zjtZS?b-&o|((t@SiQdgJrswsskyJbz@!|VE{JeIq4;1|VoG2W)25a)LjyntCnp9Xr zGPE^n%}j|FaEOZCqv^nJVC`7HXY%P}6Fy=$%f(7gdCSJ+4|w`F`0=#44yW3BBE5Lr zcC2sKr;Lp#*==K=JO;b}WFo~Sgce)KH4FRXQOXtf{me-DUR|BxX1&6Iq0FETCmSRa|UXq6Ej0BA0`phB{JUxLL>0l`Tf?w%U8xXDqt%uw6KmLD`v|fmmF{9 za-Aj83!gs?=};w?wpjR{??vCFHRpYBSIf;_%h*$yFpd_SrNFt_O!=pmdA8m`b)=9+ z&e}H^{4!GQh4#VQixQlTimNgbZW=&=YvDgyL&c|A!ju*h`=W&V6qay{I2(w~*>4b=sT~<2T>{!`;521Bxe7S%2!#)0cw*xo~c}dYPPKSEo zZtip44bMyb7Nj-h+@tVxa&(HAGb#t!AryQ3Z9?0*VFhnneH$JRFJ0{d?c56Ft0fhd z1x@9_MH%gwBo#(1v{5cr#$qsh%GTm+GReooxxR#@q{}hUoci=X1oKjUa{j@h!2Owv z!EGl~xSDX{RKnYI9u`@qf65hbYu|6XlA zAHnPFWudSlYD;(W7n|NGn}*MZfvs0>da#Uy%-J%M(n4a#ZBc4PHz#WUt{1nV#izx4 zcZ}PX9p|RxWBj7Kf>YZXhq>!tQ}4z*Vq!>2`IvlP@6bN8KEcS3PcWH4b6Z+lgblEL zcdaOiM6o@ljGKe&c>i;h={|H#?*$w0W#zmlq0Y;QTv!K=F-YS$nMd{1hS6-CtJ})O zDf;R&J9iYkW)`xPBUA9JUIj~|?F zgh-%XRV@Q<9TrqtB~Y`Nk#c=-I{CDgQ<=utpr8pkqDG;k4TFQd7yW<$l0xDW1iRii%d?zICg<%S%Zl_K=a1t?1>X5B;Rk{tH+E_2n!LnL@)W zsw+*I+h$yQ{f5csk%S}@a3`FS@gYQ!EpQWr3>m~cS-%bO2$|*x=8uC8vuoDxiYo6j zw(bZ&u(#Yy`~U@*RzxJfnB{-8y`i8C&F)rE@EFo!46G_o;Gp?Alz7|d5BT7Sb5r-2 zK?icU_rCf%^u%IK<;rAC^6SQ!JJov_nbKN?5Y@+BPyL;by>fX=LAkBPPj+CSlBwh{ zG8$Dcw;Um-7-b?|ICgMG|M=wv{j=7LW1^$SR{j;0`!M(txz>_fogU8rD?A{6z75QU zf%XCt&QrnrEh8%@DjozkF@1lbg1gu5^$i{E=dk3E-&7I zvO%SmeiGGjuupsr{k!X3e#Zl64U+NSm~KRSEY5Nwl1Wd_vNb!SX=3E5A#favfH8Ls zL9W()VE!mK%@rf(%Y0hjMs<+#iq%28(Vkp`amt!?fAntqX8y##Ard1N5oU$PJMA`z zy!@+CNC>Fq*}CGT|H|EUW%!$V4QaGuX$-&CKoh38f0DSRFK6tl1=nWHQHVkp1y5>U z4(43D=jFp(u<<7AUOaeapzCO&7j^JXM40k%aL<#V?mXMcII%c1Zl;U2m(oNr^0=xLYk==)`+Uj$s z9cdHJ=t8SHcBt%Jx`ExJg`mEXuznMI6#vG?BX0vnKS2^)MMV=TbZ&yqxAz#|uae|c zR8+Xs+-|qGx91B%WYCF;(FpiF&31chDIO8H((KAc+bh59*H_HKe*csVVZ$D)96MM+ z_Pjego79Oo`*m;5hkKOcSuU~S{&>JckX~z%Ogcv25Jsu(JjKC2%3BlOt6{#D5uuM| z&Z~&JlGT+S-F3U6KVxiYbTnZ{GU`*4b6#nlP#w_UaJiMFLS8?|e}El+^d3*bmb$V` z`-@|4G3azHmYKLcjM_$gOQm@mMPNL{eTzO~N8cLDRAIuS77Qsp zW|f7+PO@n9y_?b>zQ=)==n4cOA?pr50?m>$sd_mfM;uc%hUDV7JV{}s=g+2753ELt z2g@IYp843@ORUX-K;7J76hH1z{wdRiTel-zTluCj5ex-2279;V)QsZ>Wl^x zTLi};1VbF0l~tdi`2AH@1Z`LjSS=c!rvwikH%|wq3uHhTf*B+}fQZG6>n^wYed@+{ zDP!vdi?aVLW_Tv)Pk^FB|AS!c!0yQjN^pG|8&o~IItAQ{;Ec}3WWw~hbgu}~NuXMq z^i9##n`=25QB+n9l31@E?L;B17jaN`gw*gNP(MZ1tla#az=A0}A#7J(ffPi_@<8Fd z$Gf2|jmc3LZ1Yn9L;gwl^Qj<;#vD`S$6F81)z)r-iHXUNhn~-^kFBSzYS5wl4f3Ua`)%Y<9l;>AosGAOn!VSnsP5bV)^$002argAwus z=^y|?c=!g6iGgc!cwAkOl2sVggMOy`Z*M)E5(|-Z2^;#j9-ZR(> zXh|Aoi^x+>OzJ>E`+avIhFGJ#9D zV}@#m@y1QI<=ZhEIcE*5sK?Gz8#!A!rv-saftZBV@9VDS9#f_>=H(0%8iSzQmev2e zipl>VfV0N_i$mLx{DJ=g19g3N-__i7%2*|Pf?+~alm88j8WeuZq6(yy=bn7JGwE(Z zE*4i?lg9&KY$2>y*E5>BAg~||qSs5=_6~yArB0psd zAb}OqoN1WN7S$?~9F zKxY+$%^A&w@Vl}mRd(8yI&@v+CFCWmCDj%+FaOSHGZr$M^DjY9mxG?RsG5~Ek(K`M zL=N;w$-i&({&zx>(VRZz|36!SK0!~xnq2^xG6t=Bc|f=n4#7k`r)N+$l8aKMpE%IZ z=@SOB2x|&m96VD=vx3C?85|mEtTKng0mL1N(M{C4)iF zUiCqk04}C1+BO~)=gjJ)0qr5F8MiGg4cP_{3z$}~0#b`))Ou^hk3=z&=!|NaWhj<+1Y*%>oSGIVI`RWEcpkio0yuY!CqJ)ZR8iLR$5kir8r`7rD#jIv0gnT(|zomUYJwg(Y=(~+9N zeW{z8z)0iqFgW6&#Sh0Yzaqi7xNA(WuX(=nvnL??o2&DyKefO*o5KW4%RyO!iWxQjS!M18oJ(YE zx4s)ZNm)HckvmkL{AH*(%PV)$!9rOAX^4@QI2!`R??1RAE>bOWnRsnmobKEM9*E(; zzHsNb!3gxF68`uBGu8JOp=T44YE_iWifj$*Yv;nMu*`JKi~u?lvcd027InfeJFO8E zZ5w&nf4^q?Nso+@D!}wGRP8gWYZz5cqD!(XMOfj|W;@ARD#HV+7oNr7aqc_+{^%k= z?fegq4yD5&{D)Yz(SyiN<_8A`PlvbK0DdRC=~G7>66DGXl2t#a_;(5)E3zFu1$gc| z1Dr1|LjRD-gnR1|kE8f0^U?2QdDGQ>rlQ$%Jqs3n>HF4yFKwHdrPQX1fqMH(ma@Nj z;Q3PnqLJs>Cjah27kpu%faT1#W^RQGWXMLuzkvyjb_$zjhWKhc$(pdXZ1G|4jY8$v zRPZY7k8^HZ5|wpCxHu(9VUO|txx zRVHF>(rQb&M{qaWgi%ge$kJ0%ONF}zp|uMVed`^2>wk;4Vp@auD@_HS2WthceKGI$C9F`A4e6@nkP2EyCf-KqXFkfGZ^S2sLIg;F zre{~$1e!{F$O`>zmod>3gIk?AVqzlqGu_!SnA0OP9ir1xtQz)0*XL)CI%4D7VdA3Q zj<2WEd=M+S1=M^H3WEry63DoZjC06X-2wcP3< z(w#Km+r{81DpN)`Nv+{$l%XmaLVJMeLp7XsSnltJ*UWF^I*>{pTf(Z;tQPqyrZq{y zDB3|cl<9v&2Nk%TRtEbYmjOibLiV$ITJQ&@tYy(3$U-f%nnMa}Ek9w`)&Ck1^{RHf{4f!lD0!qd<_P zZZ2(%DDJJ3a8{%&)19fu^b|kQMoxn~L02z^S(jvl5|R1Fyxhpsefb+ZnMP6?%x+2b z;!+o?7@4b&IZT@Vz=!sd)l8(pYXlNuJ`mdDCrb#pU>H)7k(~}uP6P9g3MowrId~j(nzWYaH zH4_7xq;Jp$3I;O-Jb^h^k|~Jo|6%w4io*NBkN#g83ztvw)@|ePg0x!;jDXQ7w$_g= z?jyhu0PBO+CTd~mYre?e)$iJTdg<1Fwy{vdzA{5wGAU6YE*nnGHRGQ;f|7?Tev9HL zet=CUODZW(2PU>Z$QM+Ht{oC&B$}2?QynyK@Yuz$c`_IlP^;V@M9THo6pRIwrmt_(84~Ku5Ykj#2^zM}ga-c4FZ&OkY zjK~&Nk?wI>3h8kGHMwm?LU@jxbQTHXu1YZ9?yA3Nr}*^3J~CsS2;R;R7Gf-N;<1b~ zYmM!wP|r1=F~L?lQ^M*92O5?{7lgH9cgT|ieo(ryxp zLH+LO#vt9GUa0~2dcFJ12GF^x!%g^WvPhV67Gv-%7Aj_TFqkkVz#p6x%(0IWeR~$Z z3aW4KA91-lDisbRElBNLYOo4aD^Sq!vpQT--}L4w^(a!0AiKbxVW{5HKB39qle<%| zV-U13SK2Do|DI811pdjdJ4mUbezp43*XdZ=@^T#CtY%Na;RVBVlK_^dg6NjNoV=3q zYjXRD!ozbf0s5@TsQaXQtp5w;YHj%k&Y45LQZcX<9#>=9UJgT8IwdTNiPU!cyelTZ z#TZ3yJUw5Tg%rCzB1~l(cP z!9S09soKcbFFr=R8l$F9M=TN1yCarHh%QehT6l}MA0RCDpnSS3_te?5izgR>^xJrl z-&{82Gd9*8_Z^Ji@15{JR3I4_KZ=eZ+@0czu7_iyd3{3j<-($(vb-xW6opp;1QPP+ zN>Uwuj?pmfEj|69IJHM%GSTHZn4^ENMD6SA`~AD1PqB)1hac7%5lNUdAQG z&}}g9DHz$5CkAW-Qn9N>(qL&L#eN;zm~hE|{W_-l>O+1`f0R`oNih%jU|<%V$XWF1 zNLS)DR~N`Wx|%Em{?(d?oiFG6AC1{g_iwt7&-d?bKbQ#K(acU2o1QDNG|C+RCC&eJ zFt7cW)PEfenj!3%fh@NXPSBLhxgF(7>7*?5tnn6CY$&V1tm0Q~A${!B8 zkX;zpEFgH!I2ki54~SY02_(hC0pe_!s|)iq?HC2OD@XMcBLw|DOo$Gq<(b|lBVN3a zPd_jP;8z4W$zY4m(hxWnFEjsY{4ydq{&m_-FEqvD&U&%~U&B>3(e}6lT*1xI%6tE%FCAM* zNfHD=?hOA`QT)1YX?m+Y{_o|WpWC}%r&d>l0*MMxJ-eOH&VDhrA8oj%IG%B0fCYG* z)i{!p53q|Djj9?UlB;Kkuufv**Kz`?cj$|HTT+iZM5|>eJA4v{k zQm%sUtb^nbuhGte5ut7o@kAPia#rEwAv{qSMi}We3R)Pz@Hb)LDZ_*zl{Pv|A}cQN z0fkLfR~B9ZN=}D5yKw%+28<;K5(|)+42Yp(h64scP4_b1Xp{S&`M+X-Z+MZmhq?Hh z?pzWRM>fw zIBoF$b5AwoOGuAZfQV6c66!qopLBM7x-`V@JR{s`2tJQeE4~@~=08NM)zUPAtbS-b z6HXB&SX94sP6uy0opW8PGAeh?unfQWb9fbE0v<5ox8Li9;Y}{iDe-*vTb@%KkXtr=Kr$F?!J7g(zOKBuP%3BDPh z|Lj4$UWLuBNBQq_PWW^^wfbE^fJ9JgsRQ-Pa-2hOAw%7HBE~{%(4Wv=L}6D|qeC6# z%CK&a&To{OSQha~{JK79rcph1Qi1GWnUKzi6OnldViX8{X%cuWDT6OE@F(0`h|9TUq++DPlJ@Sn8g-T> zosWir(vh`Dl~{VN0$JRg{~#Pfv`DWgDwXzjNGAZ*rWmRPXy%DjFYO;km^nj{1rCQi z7HljE+Z?GPS}iJ5uihWf&O$+H( zNX4;{xQTcUf9ZImxWAiO1BgMV1fgewBNw4*i^4C5teI$0sdR4QU6;Ma3cdfP6Cg@V zFg79;#$k!q%a*UhROgt+oO^06-r78zw%igE<~3FR4&=Mq!*c4a{|lqsmgkBs?TWhA zGtuw^j(Lg>>Zl(ht1yw+l4ajLZ_V}K3Mbra<5A!Rro~;;{q!hfo#z?nKD>(L~wS%pyqa?MFc+Q$6Py_jJj;r|ElRbzQ>*4f7CEMJjd%) z>Fbnt=c#SdPbicfq9#$IZ$cvdJVadSn6Vx0?j^qz2}0iWW9g`pon0yDF%!G$T-A$juih32;$H!{THz%H(k$*aJ}~%xd^6*pf2f#x%$ZR^XA6quV&j!d=^w zaoX5fi_?yrl&neiU_9v3GRhMDyVkvMr>I4epj|lPEq7eR{*0r> zkDsNWAi%=W!kTPU9En7ifhNOX4EAV)8Rck-GMyikamT>n~#qPuPCF z$Qvxg&&m9aa$bCv=x&4tWlwEnAI;mSnvBjX(p114GTe`_%?}L5{uU~o4qHG#=NN>n zMV#6SDIAx-T7cpij@pP2-T(=kN&|EVm01tztso8~Yyk;2e$R1Bit3Ew>?kN+z@6KU z9qWz?dEs_h4!_(GClKF!gIS+NqqRid(Rb1ZPx%xy$wS^aBl2Amc=h?mppg$HRnOUr zY{Nx7?!s|ZZICZ%n1g^vOYQ<@vBrl9U#TDwyo!)L+TLMGB|BRuhv(Z3>wd?~zg+8n zIc`ZPIX!P^tQqakaD%5!OIQh+d>}1n}))RyX)=`tt-Leo|#<}sxZ7w$Et4XUbHr0ar zx>91T8Ml&Yr7?z}wmUMSxHY-3C&zEAWd7Zaq8A9a(j4H)7hK@^z5IM1@UUYS>vcq; zKf^N~aL)9l2U`8pH>fbPB(%Q@xY>`Fdj!coaW7eheNS%A@@}jJ? z#q;byy}ZEVt-hk|Ci>tC0`!i=w@%yCUQS1k$EpZzC>+5R&JZ)U``OWiP&mrli!L@_#!c}0>E zfS3hL+uIpya56dyFqBs!_)$=J`HwjD3l&i`UaIv(FB(enPQ6?$9j{3kVIn|bdC`tl z32`O-Y3wde?upD#3F!GNR(45KKjzWYFm_7t?IM+q__ULzW|*5xw0yz5T0H65J3S^& zq>Q$f`Y%Tr-f+uvgcPTVUAX<^3(jTGO*WO)AO=B9fy&HQJheP=-r zl@O*vqH+r27sY{U9}Gv5eSyzTjqL9Y`%^mM&=WYx3+YRZ*zXr@6YDokDva=)x*?8l zi!zmD^iefxF=)opvxv3=_l@=N>3*T z+$iP0qtM~kDeq`U)lk61rXe&0@+>e}IR-vRN%-*4EFc=TU*W_Ld8E3k+_Qb@wPQNY zwqi`DUN-pVsHr6$tMG@4`F!xFL+`OT3DKF7ZqKTKt2F7gVtVJi&wKk7$xYAS%N8$Z zvA~t^;#6nxar3t|0F{;V5|FjXiSF$T=nue{nMeE2{BHMRV5R?mH9Z8UK?v&L9Lnau z3YjQv({Z5Yp=z|gaj!v}7T|0Oi_H-Q-w2J9ozoCGpBAr2S}$(@XcZL9HSnf5Nr@=9 zNsU$)DCDnW!z~;2|K2Qw1u%uoGLY$;^>V7&El#lV{0L4xDyBZ+cU&ohxsBTV`JNb= zTrM8J%B{b5eB7L7IPR&eQKi!5+jnl#=tlN1VeunPmnrfZ?n~O^lDq|8a+6#_M-7G+ zbo-Pw`s1#5-)z;haiTyfmA>dQ)D$%}-l>x(q{*143D$+`1ovwE%X3#-X?q>4^cJ9n zv{qE-t+RoGU;J>!ykxq~&BBwc;Y$mfrlaU5v zhg4H;BQi4^7*{06We@dEy?-DHU7?EYr*b_CuJYWYgtluL&?U4zAcvjT@6@=R_tt% z8+0NL_W1ER3j|!qARP%4YY)n4UFE>5lT_#IwVc+^5imG~j#@X>PU=d65e>dM`_G$& z){CD?tY-L#M$N0Cx>sc`btYdthUHvM1}x$psd2uJI{G)2;mCloekkV@5ch&THTsjm2EpO#W9HTg1++ig z*1-Kolv7;nwGR8wJ_N(PsIFw?fL*)!F6TmugU8cpYOXSp+3TlWXYDq}H5sc+YCiT@ zd`{kH&+c6Gl(mHn^7nfLt}pt$>R<#4w8A250;4nn2%Hh=EcpHYG_VE%U}ci0mRwjY z{t^QI`@@W01OoQB>{Oelyf8TMAikm9fcr|ZONb_o$F+V%mx|Tf zsMdnsT0~S`c3hCZ(6ydH38LSB4fX(4-22A&pqe99yX4M%$0f6~BpCuku$w(`OvQ`O zl#i9Z<@qvZ88Phk}Xd35^RcjEX4@+%!upOyc*!`5u^bY*ksnO$wkRkGz+&sL|W zZsB01V3Il#jj}1`PXOgfpjOT=h2!AFZDN6}eE=j|uY^qIcW-@AaA!Wctb8AX^ObaW z__-WZgE@UGaik=XT*@^ubnQK=pd%Pezs*%u!uP6g&4XK{Q_7dH%DE^C4sDPsi(e*# zXp6)+lAf$Q<9;(G03VrvL3j$Q)uKvhP>tA(!-uYC=I-UsS|wjTVQ?my^79{uAk9r( zrbCo;I?RRCERTV3RnT_L=X&vVuS=ne_V9GAqY9k0;lNx8xnq6UgYRBc>LK|#glwNt ziFHv&P3Eq*cWj{6GR@fLerOGw6^AcmaEmhO_|k|fVRf1Jyi1UWby1|$=#h#nl`sM!5&^k3GcecbNizXA_6(U%B0wU`6y?|wJ#S&Df8JZvnS_DFCS+l0*aIvdT? z#iH*>F~qD;GP93<(PkezvX0srAH(F442gn>%GRFrfE)`gS+HdK^+I_xW$oe%!4PLIJ*Xt7OJs{{Ap&9>BK ze2WbK5GU1Np`kXW{nIBhinEQguIO(?N;k~RY?SI27onTi2QDm! zkjB!)S8l;R#4eG1nN>Qx3k~-CHo_wqG0OXLury!my8NJr|1G7)=GRtRF-18uYdj65 z3atbg`SElPlg;g^$Ua7dp8mGEO?RiVv8p(Bg=moyPtFWUdK^OU>U0|d!phV-igwTB9$MRRc}`3P_CM ztzuS;RpJ@CqXRqw@LJ}af3wO5WBN-ZKh!Uk4fx2ypNHE|k z_xbR;)Ac7opzE-ltZiOk7CKnma*E*1Nc814Sr#teXotU2N9y0EHz0u~elYZqL@~(o zpaWDQ;7O#jhzI2kcCwrgB*ml1_mBOvLeo+kW`1xw`OaMLN|_vl((`x0hIxjEIn{b* zxgp#V3S{cZ!ItV0mzev=n`yDIeNVE;YC+ZnGA&+~nDs_2D8O#?_uPj{w~kRo?pj{Z zA2}_TRpr!$ogYxeCR$9UI1z&uW0{9m7EukBg2rs%q+rd9Y=W9C7m*DFK%1nse$m$~ z!hTXP;2Bmti6}Uq$9!H-Y)B)ZDi+74F^Gv1#Tq|3o+_zjzCWI@5L3C)&gYTq6ti!6 zyJG5QPvc@kP>|=&Kb*BCm~)=O=MR=AdOY-Ed^up9L{dUZS~QFMhZ2F*DLU-lyDuGI z0br`d@(k)!>FsvKWh*!^K{cHO)_%(}i|=TGwapm%FVEEqW)q}*PdI#HaBt5=9;=o*v@_Rnuj1rm} z&ggKvoK#N#b`g?ujfOsU(MCj$H-o-pO2VAtg8B$?6dzsIr9*s*u?%;xkQKTrt!>$9 zy6LyhTN*EKDBjr4TF*lX_<=gisQ|nWe3QcJ_Xs!BU372v{4-LSi`74#pI$R$q1yJR zi}Wyx%ml1efH?{wZjyvu)os2uS^zg}pI!ec2`TKA)$R7bW}w_p2Sr%g^YgwH)Cd4L zp_pTB-i&`u+LTi;+nBIk5OS{=Z%~BT2b(WwE%6WPTsV1#^fuQx*DzNZ8fPjTKq?^Y zyeI~QGDBb#u|Kn|C|a34?_%y|AgCI<8 zd%5q}@HTi~6n4EigakZ=UTchr-hWfR0%U|%>&ZE2xtU^qAuD0X+GJ#+;$Uiw+ zc}ik226Y1b$N(XUjY&&89f|F}t@Mc$q&YaO1UmZqTj zwjsliTrE(GJ<15$uZOHI^LX zKUy|DDEy{dvfMnk(`abc-QKJ)JJQn7p%JkLO)2vYdi;@BkRD34(!RfL(~)FY=e6zR z7>jd3w&W~*)+}D+=_`l7bH1@u8$?=gy2a70egjadqd#o2CyI7JE@P^#iO+03G!KEl zZf5w3DZX|So@IIt0~~3X6+0C~#pQMdgV^LH;oJhnRNyvziteRhyOm<}4m0B*%7{Ot z>zXrD0%2US${Rf0eed(VQ$@d*&lmi@5~F0sbdm(O>o75rf1l%a8ZiqZmtYMHv_3o9 zsAAQH5ep_4eP+vn^Zy%K*!$14%#r;k5N;3vz+#H*k{Liz^MZrJ5hDf!po+}E%I1j< z++atQBTDXvLfr$2GCyiaC+c|1o zgXBSgsAvrg+TmbAcp4TDIPpeGo``305-E7*fhlHkFDxKaI+ql!YbL7N3|ik*!%8_Q z4iG~x?LwMh>Kza32u7SjHge8#@eK?CKo&u?zsK<+8!Nky&!d3Dn4Ti3&kq z@w6C|sncwdu|q&TJS{;9{?c6GV`dbqLc1};gWrzkP8=7P*-lPQPW7R5NyAiZ#P>B;EG#IX zy%NDVxLcdY$}8we-IdhuIWUDnR++#e>|!?n)KWMrg- z*iUr+d00OIC#6Bli^!0;mW~uv61kENA<**lwR{(P`jom6>?m|hmEB3p0NtO+r1P$h z(HEE~&?6tA&Iq+FNuF{pTWmi0f^V{_uE^590MwhpooA6f_5JwdP5b)sq1d?60OLAq zz$G48gj6dYra(N&@Q3!eKPVK36ph2kTDo~c&H(0}C{i`fe2?0T37^3-$1?6XZqmmN zn?O9Ai3|elS;D_}tNvWn)5sDt)*nooBQA+l0zp|)l8K--ISnx1kxHH*LrM%KF)Bka z#14_$O%u57Mc;UbZq6li#Xu4j6$bMnu(S+7!CNC=kXyb}Q*7i9E47JnlNhfc2HjZe zJSj20fPWU5;l(9@sXawOr>QDNNz15gJ4exOjzT*k8<~V{_M1!orvZObd6IYt1rUpx z`Om*!pz~K`JDsD z=j!OE*WusP=wsI;+!Q^n;FV*$^>f~ zoT7pX+q}cF0S;zmHx9Z}VgO}@NjW&N`5)SgJdI)@-^ZXV12h=x+leN+wsm=x#z|4+ z+Z=C0bi1P04YCl+bOgJhR%|pE4~4U3#oNf*Ky_@%J2=7ns6P;lIfV=mOs{kpdwW9; zh+Wiatb1X_QDrNSgh(KozFr_lW*_#@)=K%O&yH6!5%OHf0F|zZ1=t4Hc@$4AJ zV>vp0LX4KH|L~2X-p8}o^#nP*1&a#%N6ZTO&eSAq^~~xs+v#{xh;`&qUvaW)yn_(} zN?C2#X)bcaw!dp*Ij5%$YYcL=%>}RW&ea$7xb)60+-L0E@JIYI_nbMf@9uorFg-^) ziJIRVHM;Hxv1icaT7EuZ>L8%=s@`Y(E@8DB?&!B}d&JxSc>2=KJOYY?HF8vnC-+-2TLj0t^A(fq=iuri zYV_3@2oygw<@$Q~WInb9xzTP6XhUntKs5byT8Bg{(2tRkndI+)*5y4FWr9tY7K^kv zPSKDYWxOh~hCSPbelgz62GBnQuyM-4>Kf3iX2ma36Qh`KBWqr)^Mn+Jsh6t_f{a9E z9`DU7VdoBBn0nG;1D}n+`pT+1AlzSvo|i;+2*nb59DV#AyJw|==uRUHCt5h#jLqLn zl$JX4b^BlT_H3ReE9KAwi#?WPZ>&qRBb|0sVbh?|NYV=L#anQBEPyX#C;e)6r z*2ExsceVv++1SJ1IL2QU91zUcyM0lAfTKBVAM!ouK zmknwgoz2+Wy>OEdB#3o!_~BAOBhNtw;isk?K|huW>;vu#A#(x?uz+Z3?*BKB6Lx|W zm{Mqo(U&7z`1k1HVUJW7W zXIDxUr5`7ll$2Cw6Tm^zojIaI`iSBL<F@*1`nzQ@BpOHx3C~M-p z>mH!N0;EiGiVKNtCPLlUk3Q~DD94Ie`rb?j7|YSXv-?TZPk#XG-V;v#L)+jl+3pxS z1BFBE(q1XZ!n?$)MI$MR8xcIAFjzjZEsLK!(E5f36+-;TxHSrjIR_tcVy8%{?aR%B z+EV!{ISDV%wM&nwEVPu2x@rbmF~jHw4`4SgPmTThK#Qft$D}LT>MOJZLdrnqSsK4} zkoq4uXA_FZWm(QS^!XcI39LB6Q0P78YqIJPZkv0*_^E$sX{v}I&KX$ zhcSi0XruXqT*#~c$&$1&5Cpt)JDY2@soZ_8@lUfg%m*~1{$)7E4@^+O987@Hk0U~G zFG<;OT5Y+xJ-LQ%-6yssowg)+ zRH+hVAzxNbEFmm%kFNr9u$LGt;j7;&wiUi{eoxK9eoD>7t2t+7BB+8SrHuoBBi1|hc|2nIAyQWf|2QmPHa zKq>TMpW|bLz#|~Y-g(|!_+dfj7h0T%L-&Q}q!K}yCoqknDo-JrLl<#eq22!`k@m}~ zL<;1{^P~fO-_d9DH|W>eqo|?RvAy3n%vOLEC@x%iO>y&Qy?7P`5rFK#I%WuROMqD$x0834qj@IUVUt6xtfbZ1A2P+}@lJ zarb5?Zxq|H=sQBGi#d;6dKNdP(1F%MCbK;A2w~fEOyE^&4IU2$nb5jpa8^9O_ z3q!Iz2h{X5o08`6PW_3hFfQOVG%p`K;r~TzwekDJ)IbY>{l>CMpCuorj?KDu7AH>Z6iv_}@*y!R zeWiqg{7SPP1|qmbF#XXAbqM|TZ;xcQ#@$;!cp3I2`T>^4fN^FY;ojkhNZGaN=_QDRbmhA+3;xE(mk6GdYMKFAhF0C>{5?vc>3sXm5*S+h^3*VRf|`mCJK z;p!eBkqD&0|BobfUBHYhHSPUs8EfxxU1Oh4sc#^o1D(bTX@#RE&YWEo8u2M-_QSvD zfIc?e6SC6DI+|*Z!^qfZjLDMgn|IEfc*eq7wU?B0uZV>W@Ryr=N-t6-66suN#D*C@ z$?WU^$vIYx4xkLr0xAL0ALq9)4n`O`Dyn*hbp`eC1hQWCUqmaJrGHw=YI$>3b+0Qw zifXqiC%t2z(`i^&hD+jwbZcgBX0J8|`Eti# zcgV2K>1w*p-bpWAnpJJNU+L(^EKRbx>zoSt7@N8XeuG9_BNG0J<~kAq#rhyb2*Gsu zf-|2Kf={-W;$9ylc%jdSKiN(y*Dz!!V9SD}Haj@!mC2?Y;CZ4}@wEFZ>PvNQm-X>^ z7$O#JAO9@6z2KODE(7*C%EWcFHWyZ)H@z4m#`VocyV7&a* z-!)L5+JKmo$*VM1p?wl85$sRDV{A3K59^etju5O1=o6 zSQx22P|z04+eofUlz2SBw8Cl8O?|fG1xH6rY^X9=m#O8Ky2f#Hj(tfvy~zIC|JdK! z{9bo{jB?gG2ZIh3S({H4W9ZGYz=V3{dJ2xIz)dotMRNY=!vsu<6X7L8eU~K#mo6r` z#=_aNyF_?Co@yqpNB^#hmz% zBF6^4mqOheZH|Wk1hGy{YXkrvm&%D>5Ho8EjG7IK!d+`{O%eYMLq9VtoirP|OA{U7 ziBKmBsn#qHjEF6QXW%qAo&6`wgCtMjSEpVOYFbVGyIvi2v70UG;xgN!tt(=-*7ds< zv1w^ctsbW=NlAm)vR@S0J0gFQ)b_f!7RL`y4^RCMhjw|#UEz#Gc?x&CjDlB1i_)M< zc%E;*p$tjC8&SB&Zrovyec7uzb-$sT5i=(A6^k_0+p;J?^Aw)cR9mCa=h zLcAuA#eU?$(DqBeeE0q|c=rL>K(rgYOk#Fygy$rbNO})T*crtZ0DuWRtM(~DElf*L zPo19#v4SGYP(}s;MF!!i15eAUD9HMCZ;Ku^2+POqu!+PFm1!MB(F~(A9e)zM&D_1s zj^a_W2X&0Vr)E)X&9{>UXJN?te|joN6Ue^p!_^uYlTc^MkYvM;GZ}T8r-+rGNz8oRUtCSF;c;Yk%=nr zq3-#?P(87onmvzJyVp3j=GHK^L>pk62FI%2Hv394*d{{?3(;V_x>A8x0$aUwKXFt^d_svnY2+@&#{4eDC@% zU%VxL%@YIJJxXST;N$LfHBLB1cLA!|9ty}F#?PQW{hM-SN9dy#AU6L z*@i|k9Shqu*&)a#Qm9`_}86X21T3^0E^X4!rXv7#=k9~G=9+M5VjN7|GdL!BAzBRKK88gR z1wNDM-;9f4Z8JAEHfA<9Hbr%JZB`|ma7~4o1K94dDBI*Q|NP_|vFhvS_!bHlmAf$# z3*+H&!*tzSNqq?}56=`Py+deWS5%gVYo@W2p+ClL2!UwbO;#v~Gxi&<^}}}gp?~wh zUF1w9NCdNNFaz1|XBX!DoSeu>SjWmnF{ZU>>+4TZi8H+bvOf)3zm8%jG}fy8Uv{N2 zLkY^w@c-hK)Soc%abRMrw6{}I+N z(LX#Jc)saugxd4r~FKOKA^lz{=Tf-k?WLG=e8QJ7i!&UH36bF zNw2a9`6|Ndq3P^?raL0%_1uxoJkyy>&QLB-!66|trC~C2z3L3Dq$-OyR3|1EhE{-3 z-pS%w6+q9LL}HK z%Qe)iiGP{ac9^T6NomL4$ll1@3RK?M(=Z@Sqxw_zQ6z5~TRBJWto=O>=8ktqe z_%JydX6%trRZg{Ye~nTKozkp=W01*_YzG9PtI95o%cGgr2a}RI=oyS14hwz46<+*1Y>UD$o@Xx4?S}zJO4kHjrI6}mJ(YoYuk^XA*)N~_z4Rx@H$vIH+zULGZ%bqH z_|#QVNn+@jl!;ZA!P(I0co*T~p!plHVj7vXbee10PyM7`CnjhykgU;h8)FC;LRg%~ z6=DVlqpg^lC_$VCQ_pyhRK^;=;vQ{+#gOjO1Xe?+q%eW;wEMO!`iy9HAqCkSs>l9C zv48p^qC`*@=Tg0QM&+N%{}%4kum4aP0p3UVWL2hg#Gg~AdK2AE9^?u`Xn$LhBEfv# zGsgVn5avH{tdMZOu`Ypm6(8-kZ9i{oc4{?w?|q1H@W6cNxB$j>yr`f&!!J9^{Li)M z_XT2SJjjP#PqGj-FceCpY#Azr$7G4Gf#d2(K2vk-vw1j}VdOOa=1Ikp!p>Vss z|MRang{6-$CN2JfWSiy;<)ouJ7%*AMz6VJ1^vj_;tcBM)|7^(qzy6<_ssU* zUZxa~4|Rrx8rwv%5l9gb$7LvYsh7>SF4~NjxrUr;Y~GdW>Nc|dGMRKLYW;iUQQ)oL zl&BuFhrr*!@$^dF54Ym5C)i`I9;MkD*)kdm0;Z`b7~?{ID))mLw1u=I!?V7a##?97 zE^nLEAN2pmM#{XtU*oc=yuPv*9Qs;}#w9I5h16b^i~yAqDbkI!iaC{(+{u~O6`1D2 zJy}z|E}N8DnXBfmh3%v)D%)C2ys~4C_u(oUfYPQ5v3c{+<5S-aJgTK^isdiZO zf*Zd!KmFpuseg_=**V+A8_kJS+y>AyCbME*9 zPBp(~2kD7jVyWsuJ!78)DC5t=5N z2S6ouqwXgeVIWFkdauqf%SZSmK_#-aT?$a=;mPFQ;eE!_Q zXHi(z5L~=u1(}kvyq+}$$YF(rUjcMv1?V^>hGZ1QgUFk{|4<0vJrflw`PYBVDV!1i zK7F>cb9zN3oz{+!_o1323;Q<-XD4F(>BE;aBBI3W##(K-U;n(xIssKmQ!tRFpA-5C$Lf{>K%RmAqXR?>R8D=*UQH2oR1q&s;C z;qZq62pX3O%E9!}1EqXDP-LTAf!DQeG*=F9Z7h*fYVC=(SxdxDf5LBV6rQkO+yaU8 z&cO>6gj)tAuFDOF3*#tu&di#FpD4XN6z+G_+?8_}!wD7YR_`()?srmhFhF(z zzbtg3k>E&}>gKkMiar8K5wj=_JTnwAn#t$4A}uwr!I2jc5_W}>b~X59h(b(nL~+#K zqJ^_W9)4}vjxlab7=?YO|LROqsj%|zRJ(eKgH0VX&*^gncPG+OvXu>sElmebZ9)8F zi_)(4+F!=LS(IPu(Tnf?&}^4%m#9URCto2?(U^^ATjcIpRAP&nL#FuhKJHS?Hp{c) zA^&YW(bqjSfd^C}ozj23rDuE#Dd_ zJ%%=h>4>$^AXbne!n~1tII>~^zU*T=E1>?_Z27|KLA>**}Jm1=}fPv9a^D~ zs5rFe%|s-B!KW(!Btd=8d|^(z)nr09v@G8EzApf6(f;AO$(vE3U+KP=?7<-YYHFU)3+i`wsTAP@+glMntR3{)B zoVtDYWnr(;s8cxZRO8o3r4TAr9^y19quVw7_jEXhRr|*QBkx^98_RR_KAnA#(5F~F zVxVtj??{t%P7KzHM}6E!>ifn|GF7x0%QVyuJTzGU8m%Ss13{wZX*3MPHI);}D-WK; zWFZU=Y87`CzXt^5vkn09OmSPtW_l<6P_N*%H#s9d^XOV{>NZd9B!&wTe+`o5-t0=< z%Wwt6!HaHywixGDl!&ym(zyL2RYO%hYfp^^BQLK;ack8T_fIz_UQA6ZjsR2v9%^+F zh~T)!3aR0}?W2jYcv!SdmQmYO)q{V-=Q(2$=P7wy;*0@U_o75LDbBFcnolCWSHfGtUDi)YJ6S@J~WTrhF@!}smXq# z&4z2Mz|ODXo-$IBGOw%uRZ6TyBXore>R+Lmic2CTEu8!#8Au>LXuaIZ+2>p1H<6j} z>BxrB%FxNuiLoNj31sjeeDD_*C{YYrE1U)j*pq?LL%3V8`VBU~{$^f#Q*;cTB{PQK z3J!4-8Z~Mzvb%bt9&rx9#&3>%E=s32vFk4p4VMop#I577uH!>$4?7K65wv7hg%88t ziZ4CodWJhXe%km1mbANxj_##FJ7~6;MvhPPJ-pqQ_yZMQ62$tDM?r6Psl(lP?KqXb zCSe_93bwSFZ_ehL+yn^p|8-JprC|Xj6G~Xv)8Eb;$UeWUeLmDy^%%8iPd}vqk=654 zdT*@cSLn}A_#Kh-8|yn+q&F0vs1e53IiQw!ioa3?7LkF!g;y;qns4@b5RRqUO>Mb~ zw_dbdAosKfUZUEsvwe&v@!|HYIs=e!xaoA>*#TpTh%8a)#?INFG4B%qXLV>K#GKr! zk(GtrhpUbI)ObAoMwU#;ePkhp&@9G26rSyGTMSv8LVjA?_4E-&Z7j<9_G0@e2WP74 z^TcMK#@-{9cZdI9!KqCH$^X}M$q<7pSCiM!`!s4iJ3TEkkPQwEE;GcF5H5*Ka{nBO z`olA{8aLp_caI<4`d|0uzwXURQ03vQOR{k#@)vCY7 zXmdmpdqN!dBd)CP{9V#sIib|Ezk`J~-&A7}RKsXsusv3(^?^O$z~~|}SKplRpZzYd zynSvfM?1BOmE!@VRQiN&22QnA>wk0lehw8q$Lg65WIaj1Fes$1u)76N*<;CIrQ+g@7Olwv;69+1RN=Oo>!CfZJds5) z%3e-KoI7%@$D&_*agBIpb;SxQiZ-&;cQo*Gt;({C#DlGr=7o_JAqr(yx8r|cyZhGD zhA-N&ppy|2oI}M5_gREdEJMSB-nCNdB7nx*oUagC7iWEV9{6B=cjGo5`QhCGXw4xx z`VY-7#l=pFAnYZoX{|e(rSs4^F+YyI*LG0{uSiiVrqkv#*S2b}0{U%wp4D&Jk;Dl71UtP5_^MTJ^EO36fzLt6dNr4}S zsZub9v!kq4qpOHa?Amoa7*!71R-pWdy;{JpzltkJycYjy;|Psk0DSyTeXr!``33KLAkXyT=y*fW^ww*Kp~l ze7+E1niOEaN2)U1XJxq64_k|E|6!lpR3Nw*cx-o7zL`z_1B}TsG<&Qb07l#QrQ51( z|0PE9`7;ljD*!elcW*6!8XC1d`N1y-uBV{?hkRqt!(iSs_$QF2(gdWb92T!->)A;G z31=x#m-mbf&a0@gNUILhdO4S6^cKNN)uzb1^CPb5^rvj5bQ%d}auuxHiQo8!AF{cR zotdbWE0~W!(v-@S0NF#Ie+~hcubzYe|H?nl`xk%S0N&v*zdZ@S5|{cu9FkSERYiio`w&5I@M}c->m6dNpfai4fLAOEr_52qgpyDIk^?cyzPhR$&3zK5CF&!9*gv64=2{3q~js>#ja@x;?`Z;qBWU51Wh5|KYYR)jW<3d0ukcK zNTU`{gauhdNvIJ50FcakOLwM{qynz4p4Oz2_nfddL76FotbiZR0W(ZtXR_h%Bl?B@ zQanB)Nn%OL!C6ifH8`b_p^>oU^xs#0R}TaNS29p}F3e*u7{E{dWC4bSre8j79f z-5#R@vlNxZ(~lqCT@``RkK9JUWd{7;36X!xVW<167WUtT-!w(d{BN<)IktT`c8zQO zTe!4ERS*QZz*Sw=WeZdj_if!YVg6m*e?f8RQW9dF%EN)zw3bds!i^ughuNoFzMHSK zw(jdPnY5JXqdcr_*s1Yu$xl>e(tBq>Z#}iX*w6Nbz}5z4R&vou#0Mx)%EjYfKQL;e zBpzx{bp)8vObg;k;hVyc9^(NBC@mV!jR0<1HC0*PP&MQH(ZsYsEf#5a3YR}Czq$(| z>ioyT5ZY;AsI-`+p}B_ma`-Y;_$s4c!YF6Iy3$3hdunvOcyXAvdop|%EwT3g*M(h! z;~MhYuZ2r7#X;|UM=&qU*VDh=%%OD%+)QsqT zFrH7E=@Agy`=jdFxiJiy&z!vykTg;i5S+`GNT;X&u@dN7s(e^14v$XF`Bv%2&6I=G z{|`=Tr3E5q-iEtJkse)j&3-`8!h6=_L8hy6TyAi9$B{Z4Cix*`v^_Zb?SF9MFO;546PqO~m% zUvVqj`9OK`t5%aG=}jwKGYcFra01;u{T+@bssxE{HBwsGtNVJut3iLtc!%IJa$9p% zMv&N`V`o(4&*-<|LV+LtqC_rYMM;)<8y_RDl<xehn9-reZonG< zZ?pVFf&*zxMl1t_EZviCB;%O~eJ*<)SZ~_h(yJQefW(%TCf&~%?hwyYFOoOz^CO-` z2Fdz`>iue92P5|=HR~ovfA+*bo55nz%qxXT-lYZ;GR2xX*h-Qz)(JrNSs*~`GOAoz zE@n>TSA{CJeZ{eQ^p~o&O^}(R^q{2~U=~(L$u!1I8#FqL?q_n@DH!n7Up1M~I#5H4 zs9~WpX-?u%%u-zl7C^-J=jS;RL+iH%7?x{^2IfnoTZZy*)>4d3>1fX6sfCVbY(BSM@a_f7|Fhm13Ve-`tckQ;4d)imz88J)4=Z z&?5Hz?U3PDv>6D00m)^OIBvND&Uy~6ls9szs@h*s%YfdNIxO?jnlSbPB8ulk=`eSd zoSl=_I@e?HPMMn$?(T`Xxh0mCrR&!2m_ji3ph6tB6%vraNvgZ(vj`8d;-t>dS$Q}s zH(kjV(@e=YmUgz9Ir?ZS6fzl^>b2BLIoITJ6>2NMpaxq+`V|OPXv5^0L&Umv{Szxr z7j7Aqso-rP$FX@*`vg7I{XE`uoTrp{(VCPY5@pG&-#EA8%$^s<_)Sn{lfTsN{;`vW zl_@~Q>|Zusvm}LosP_R~4VeaFDhQEX5^-|2(C;?HN zm8I%(4KG>L{*;PBzcJV0mPRKZP-!eIu<8L+L{{Z_DBiK4)n+yL zLRJV{ojuxSuxaL0%vsbaWylzJs@vrqpP-pA!DU_atYb*6;IeC*XJ6aFed7&M$$wRT zsWOR-sAL@wn32R8<5}usi+j7d?Uw5?XmUZLurc;vj=Lq58^9kMH6g+l1RyVO7lMBI z>$k;is?X8f++5t;+-i3vac#PK%-0EyIq5awp4_)>ro3HLC_iff?L&h8>e0~b|MErT^V z#9`G$i91;fd4)jHbYiD&WAhkP=ZZKP7lEhqUIlfskTMEhu<^Z)`G329V-~vpl?hAH zJl1-SnOkkzSM^buq`02WT-LyVpBCc>Me!YXz$ z2;E!Dl%y7M*d~?Sb<~I18_Ag|?mGZgb(tEQ)ZK39ne@4&1Be|P2)z!-GJ_rH;4ek< z-y!+{&+4z9xt;Xl6>S;7$s6rS$>%z3e7KFHn#tGA+bHh88#7(XLcCcX5BJusebVH* ze7`2(!FtFPzS07=`71al)~$ZxLU9B5b6vW(e{fY z7NY+R^`s$anCt!WHEo@No;Z)0Y_&hUtCHHecl3a8n7OsO79MyJaXQhl*dLf2_IyEv zdJvbYCg9P2()K0UHv@Z4K=}?Xej%Yxb22C`S%b*|R;rsKy9f8P&oL zh;-X9+qRUq%tBl-HhEMbWudt?tC$3-I<%ERCfS4*Vm-LKj1+~KPQ09V&C+7#8!iPE z3II!x6vj?2&tCDLZ?Zzsf(W;FAcZKrkjKc?L3c#oZFkREqO(ROK?+U1`_IA_C_f_s z%FjdufC4B$#K-8TAlvEf;nu0%vwkmoQP&8FZXX>_OD+;1`69mo)G)h#wvzEB8x zK!OlNf9+zGu#!;uU$uu*SQLT!3lUZUux7;&WwF{GDR#Ca_o0uoO+$HdJODbP^nEOf zZs}UP5+05;(p|mzGSQh{NU~i#;fQgRdNbpCgt# z!-|?+`GZcJMap?uJC9j-Kti7`3>X*(1++F4S2um690b!O&``>okuDmh2o)9-Bu~b( z;m?D@N61p7D;sL zE7S6?1j30(sZO(uYd3LI3mLsESWzr39xvwpetDr2(hiO2Fp)d~F)W-v(s{(xRt(s} zyziSOsh-@|Tmz9SaJyvD;~dBVh!SQmLB^tiVp_PzK4NF8sw_T)OTk~**raJ$DGsFh z_aUpOooZlRvGJf|5B9`=m_{Sq4GNuGPmjO1EN;TeV+HhA^k8S>=@e2gtMhct&;&-* zgHsdNh1BNkwnBT%pOLy}?_i}`M5P@av@8?7d0(E781ia2OAc%{$wL#R4_8%Gb0H8!`KA&e<<-R#=U&sO~ zGncgKn@#l;zHcmu5m-1&kv5aFQPXC}kk$3{uu)a0jjDmZ&z`KwwnQ0T4C(Ibi<9|a;J1UBib2iB?rKW7v0}_dbOpeo;0$mb;0D%>3F)hK1vSde{WHiA z^YFwJZCF^U8sn@&J0Dch#5XqiFFg3dZyMACr$fLiHJ=0v-+sHu2EChJlO^@$+b zLw&IC?>NWKgA^ew+^BFZ-#*`G9=QKSDVTcd_WBxDK>O(b;;-{$U#D&s|BJt_BIhmQ zsv>(Gy6)dvDOQ+aMk1FMNuZF_QI`uirAPUNJw`qG*g5LrFnRxlC_@Q(J<5w@6W`$I zl|O1!;Ru;oo#6pzyoI@+I0h#K%*DBPS{^!imwBu1db7(GOja`1-`Y6$$+{L^3Zu67 z<_nYyS(PQ)F^L$jO0jb33i61oS2L3Yw$ZK>8OfnnX;x0S&|Fh*#-xspU?&m6c z75J$>@H!cHn@;SQnZyn6YOgxt#>@@x*uK>Bw|^qH7ai()gVS601^@&s4C|SM+O>eo zx-z;4q3}*(<+D|IW}kUNZ^{znFGI!JiJxs;I{NByYT0Evo$4`VM&wc{nM!?k4FOaz z6RtZwq=0FNhA0UqaMb*7gd_d%a9|P?2^ubwGC(gcVFD^hGgM7A49#6illE2FRCrXg zy+z$U&~g=u-MuDdWxKx_OG$V) z`0(XnTqxPG>19i!cTv;4fffhhUkn(SIYD(uRG{p;$R` zJ|R24;TL`Dx|8#|z*9xw@DntYPk*#r0haQ(jmhFVcX@K+bk->673d(jq&(i%84y~= z)OZFl$iD8_eB%m{H}RV&b-dRde%m<4pw@je&* zQvca$-IA5A>>sH{Zz;-x?j>u;oMwcjua>=|B4?>&-Gn1;yx)vWSK9}d%|63WV~5NC z#6G@%m4IZKVv2I9fjw(xCFDpl&@GPSgK z6e=$5V$WK|Vab`z zpysYj8p1qCs}uU=+(l{;(%T5XzdKP@A*cUHL4)N0ZMwVl9){RZd_Yq>aO4)`POQ_o z(q3^Ld5i&t*jk7gu~%8|%9E{<$?WHAb;Mp9$(hJ%53Zk~laTfTm~-U1IJLo z&a#$4$*N&2pSz)dQb^*<*7_1ty&t^Ld;wK2JkA+u8)<7D&E~aM)uE`tL%`;+*OeNI zl(*-QJGYxt90s4D6*jS1eDEOOnAeJ;@t?YvhgLM&MC4^tA5%#R(K_elGxhuPRm8)? zvKgkAi&&nVvU}b@`v{)={3Pdc@9zZ( z6ve3dg=cr-L+a+SzOvNWt5`VGzQ9WqjLzq*)9~^e~DPeA=KyV4*P2Q;yQX#Itm6b&!8*2|f{TZ@>@qAcG z=^GIu`d`$djv^t%|A`b>hOovU2h$6eU=0#^a2wo{-f`Ad^o5K>$ z!n#s+-)c%#lUw7SuXWpX6NpwTbAO`Lhpp{l^Mx#I)R-_}`^$&eqmTMQn;#(}t(Tfo zbFGMd(eJsVisNUaOuB0H|7iT}z+qB}%$1E^a;VH{IlrUc?n$>TY1OUwI*v1NF}4|DWz74-0j;Iq7OOPEm3+2I^6>W${y z=02(0QYF=2{?SALB*eGT!(V5dzL0zXdDaPZmR^4+Oy}E ztb!RHg4bI+e7qSG##t^~j@Bv?((@)==gYZ6UP^cnmw!Xm`>`_t3t7EuprLk@$;HRW zZlRod1!CgNhQd`{<=PBmQ)CtDV`x zO509P7p65=H&-{xGJQY#8J3ZL;!mgQ5r-*r8lG7^Sv_~sl|KXKC{~(^g-3CF=4zI` z?pGP;ert2nIzm*RlA!d*Cja)A3gR46tzvLN*77IHN#l&FaV@$Sy3(8?wntdOTv zCnQ*lV0_|Anh0c|$To6eIJfb{QtxVXKfe);kw#V{>l`vc2!n73(V%S$Q>FgU@+6F` z@cX0ySLUmd593Y6$Uo5L8oc0HGP7hQ+`D(jkoROIN8vUeU*(R{7&vWCkqk&i;-rfD z^hSMycq5_6*nLmvoAbX+zf4VAvVY0MccpBNxDS%kha&=h7>11yw@SN8#6RTRBi(l32G>$x~L2|nTZ(WkBAhFi-cjUt3fNunLN zO?9Ky?_ixYUrz{tz$sJd;8-&rtUZ1Fk6->2iCnMcE30#}(^dCY>#-I`+jOy&Ww!nw z#D?_1W|w%j8$Y#2|!jxvsZsM1nidhl*ll z$I{&tL7KsTWeNfv;o<&@!~X7n(vk$#j$9d1OU_Utf984htJz3CbrD?gtxHQ}J77SR zl!STd6RULCA$@WK87!+HHa2tTND=Z$CsWkybiL)__h&E!L>@-nUkpC#& zy`AE64zK1Ay#>B*w6lG5v|qk$aNFjw+M(Kt#un=$1GrR*?2U?JkqQm}JjK@^t}(=U zsD%MZg)GQC+q@&tqa9e7nKU?~lXk)6;E<$dB$C7sEVWRBu(EqQ5isFq_^jSBgtkJ$ zH5FPQkTBFnp)%tQ#I89KS%IORsPJ_SgXd;pGIshC{7qt1UJHJCfb+2C1rc7Tc*5*? zV@>*9VaBf_Jl47J!Q#Gp5SXVGJbp7UOux>j&eaSLX$;S*JM73ZlH!MzvV@XnIxttP zx-hK6i#gs00t_35^YKZ(S6hwS8}>FSCCGrM-%?e-^7BM#dS1cjG=DE>*l$lV2=~&bOTMu3GFt^S4A| zJK}>8TXA1%#bho06hftX&xUW38iPhs03z_-8L(iI2*cux)&oOWDtiP&treh9&?5zOjTDAwIB`*HghcNx z)dNKrC3OLSgeh4&I15EY0H6-lM1x5T97YRKbnq%C=RN0Pl#k0QcOsBJ9I&wx4B1!U z>6CV@PT9*O;)!zFQ`@0%uBI}i?dkI0Z5hd+{Gt>n4{vbG0#v1RZl4QVFPBIO&p>AlH)7 zqYNx?N-A}@nOhJw!`lO^Rh*A7c@>dAybL_kxfg6KAk zEiVZ}R0%RHF(|#(2i#3Q6^dW~DU#f<FlQlN2hIfh7%aSWmokiwUhiUeyaZA|RB(l@ z5PrW$zfI#fpTK46_M=Jfq|3rHMPGNRb<$avqOS5k?d#pBH@WA=wR;2rHcVd#o4Ao0 z-c6=I!IlmfPfh+ep4uN6PaV%QL)}Ldy?^P;Tgw#vO)Up{Qodwfyi6rTt`e;dD#|sH zpVXZoP?#Ey99%-Ywdk(+{Mj86OB(SUQ`$z;dSMu#WDmkpM~(u3=Jixssv;o?z-YJ! z|Ijl|fe2ZN2~n5ZpCR64WQ&itRPGVXbpOC{NzGh}E@G3swMQ3Er!K60sfYns z#l~1zDCq!W8u9TPZ_T>IpJH44$3*|iv}&%_Q2)`J##eNJS+td^*{SfWK=LE5Mh;^+ zTtvluO2lwydeFpg4&Hmgs%it=+xDUB;_G6KSXG4yeHFf3Z2;LjsSEf0Xa-{FH*_SmLh-z4!z7)+W|LWvLe=~xnbXSa32?r^JrBt^ ztg)hn4~ND9bDzi0YR<_1y^+HNqfB9yQ&%|Yz1`NUnzL0K52!!?E3|JJ6nOE~ODs4I z)0gYLWXe^m%)$?mGRVFjVKYT_@+=gjc!Q&O-MYAEG%QQYatEBg`+jh}I5u4}_M~3X zG4|1e_^kJzO0s}hJV$_pvRcYM5NfS`dJi6)@{U#*;LR?;bAjH`JLeP*X}I$iH3YXr zG460_B%@)n$x^aar5)-AShaNpB3fKFV|;81<@g5{^f&t6JJIs3 zLK322UVVASvixwzFhW$*FjlL2e4LX(n{x!TmJ|U-1ub`OXavd|Eoky^-tO2=QRD)| z_-fBTTY^hjYVFT6ZZH=#ql!BZQc%$fWfc=|5_E=!5{n5TE?$0GO9PznR%dw%x)E7U zvw2DNzL~FXR+=>(FEF7+@wHsThb`B#0&x$J zr==Ta2Y+D24XEUNN1mR^#w?Aj3!H(f8$tu~%$2Zor#;4n$%%tLgV0iS1=dVE`~#WY zsk6|gT0=8)RA;iHM@eAm{54~Vr}`YWq<=6{nRMQ@JQ#trbejwK<wzYh ziDs~UYbboSkp9-`zyxIh7hnC7z3kcCCrADBL=1HXX7<*YawIURY_a|hid6MEmV)8uBAn7vpasFDZ)wNa2PwJLWWl2S*29-dUGtwp{a_(gNrP5hXPmi5+5CLl+7yw z2siJ@$J8B|(zh5Mqw1jJpP0Y-16V(5Va((`)z+?qP;!u^22ec(d)bu&l2fO`WC&CoP|M; z4@jpS-f(89wLK@@xx^7MX4ySLcjuJ}u>;s%1J`Pr5y+)cNieF5<`AXRSiWko*Zav- zOS5|GC^DmJZ^;((d-b=PYU4yU1!Aju6dYOD*NqoQZJU|_u7cKs?FLo2^EV>QiRTGs z1NtxK?cHirqE`wCYxM&#&X#3U-8dE2Q9Kv01$JYv*9 zc9M7i03e{^r%`8f^g~AJGi*9y$B5DbEu1=+ujC#l$U9F=QTfg{>~IsDOOHP+n^F|c zDinsCggG$u9Hm4NZT;sLte5*Kkx+@nqQYPX&Mn8oOJHHA|wetZa^T@nDyOHG?QR{ z)lY99?9RaY;QQpaD_wAX#kE5#vKVVvHqiJlCyu}qCe)Q&Cz~K?dyoFJ%en ztaHVhuB{F@)OYhRyaUKUUTAv?ahUf zd3h*D{?I^e^(2~~A|CxJ#g+rc|SuIa1<)vD6-!31ZrA)-7j&zoY zB~f#6@V;wA=x~^7wPnK)BwFJ?yz4wQsyXx z0)X75?Q|edyN}ur zoZ*gTXUadKPfdBtJ25~mnxs1+mLwB9sM$K)K~(|$#+!*hy~s+8B27PUs~OI2E}*Dn zQJHu*1W)e7`S!-?@9*Rv)6Xk}h6U-APdaEJtFN$&X;`lNhiD1k{At?+6G|)7E@;(^ zx@5m?A)L3UQjvsBscuhIOH|7{3Vm2%b>=q+FGofTsyGbi@Gqj6%!3L9YnL_B11T}^ z71F^iDZdY&yw|=ITsKmxyq|=^?a_wXUlqm^TCdb@9vPp{&5PYmq`jY-61!6-m<-ZX zxLmSK)?z22zRFF&8E{b(EU=L?cy1SXILxrv_Adq|qB;|s?^z3tNAfV6?=KdUeLWgT z50{BSJd+y;4abv!`buduI22n9)`iAwY&^OUxC4{H%=t#a z$mw&D9nrH&Wicy=VoG^Zo_+PFZu%^LJ}Zjz$P*?I35F_)P^h9l^+J*VQj6}|6H%7? z_pk9j)ma4Vn|3Bi)F|4{GAyV(=n%Ai7$Q#f&;joX3cBAb0I9OE{4GvX#??^V1 zEc^8wDW0%`q_$K9`di;k573~+M--JP->Xn7&rX>cA1ZKn8L zxK1oI7rIhV0R=LVZuY+1j@4mJ$%#eNg(>uObj~(#8KEmwt2gl0eyVd*!c4a2(NvO7 zcVKs!)*p%2gPP-TBsJk+8z~Pasf_YEs;EsSxiD8f+d%E6sR}ErmXpeW96IyRZU=7u>{6H z6Ad$%N_qSVF7emP8zMV|ZDHWbs}=0!qu8K-R#pdNuRxP#p4}&vq2Mk_M7Fea%_MG9 zJ0*J+G>@O8lfoG3bM1jKm}pspNl_)da=4L9cE?re_Drcxw$hWCy+)_->v>qTqC&y) zcJO^*6e}U9`9+>H_FE~`sxUoU_rl{QLm@2mkFjCoX`slZ`2^5!^gG#`j3VIA>@c~g zd5)G`kY6MW%w%qak6NnbY4vdG=npzsQ=nh*U#?TD7Y;PPyPsYnN0zJi{fZ&)&2ne2 zBU7Ejpavx-B_-~7{v_>}DT>V_Vd++j=-`8G_UA0w**_B3$W(1Db ziYwJOm>Nmkj{T7yqlfL3o4(38l#atbI6ZM04y_&HE=sSvz7wF>#aInvo>+y;eP*Q@ zoFZ0#vR$1_HCkU}PgW_5L`*4%MCU5wB%4nDPZsaem0ROCL;70eDH`hKoJ*zzB>_N7 z$^~DbZC$#+ViS7isKxJ6($~^fL;Q?NlFeSDdb`i1d#=MIy>(pL0@nO`X4xS_Yzw;ZbIi@5 zUq#UbNF9nDCD6grRb8Wli~Lva3MD@YQwv@%SJ7X8x2naRuFcwl^&K4Fq}9gYv8ubzCku79*`G4#~eeb__HOI)_9II?*OW`S$h};5e1PuP#=ElG1 z*r$X2?UNA6r@lV~rb|Zvum2j1Pr7lrBk^U2p4l}y!p($NNDkD9|6X%9E#6ywYg6QB zab3E_PAr{Rq$Pa0G@}B0OXjN9CSlEHv3-lNhEc}C|Jz98Clrw)eVZF@Ej`zJ*4xs5 z1`23rgJh=qGtDbYE6s?G^x5MUNm zj!I9+DU&juVUc0t=)C7&qgeeu3QdsXGUioQ!c5%?au8`8K7)Rr!R7ZVVsz--jj7*; z*)Hj?2g%KgSIc4MeX;@=EGD$PL#%zie8XH&OonO1}VgJ5(0>dD?=f09eqTbgH-cYpeJzP^~7X=94aw$)BSj=^e` zXc`5w(n!w>fx|3rECIr8`rDU@AuJPyJ6r=S9%lxUY^13LX!XbD(vyIvp0Z{#y_fjKxaq*zuf?VcoGT}vfmVU<&=`~Ok7QfNcr#h4T2$p2bJ>m}(= z^q%)>G`X(%dX(y`FWyneEiNxEn+j8yM%oJ^qy3b;GV!IYMRext`pnpmL*HAOzPh5n zy4KZj0Erjjgs=N>ony5NMkM5Z)j_fPV}2M^Vn7%P5aSMHGcDsbwJLNjw^rPz*(E|; z^yazbrU;#0n3}@EOjw`S52-W~dt{d>Zl-b$y`T49tVtum68U}_31{*XFWbmC5XF~h z;pD(tnJW8!UMJWqlP@f~fqs|uF*_LqxZ(al=5R(DdqhvfKNEzjis$Rx57)8i-E6n* z-kD#X7XhWJQ^Gb>Oo)nkAH(TKu1mw+2)MYcw~3$eN8SiHndbhDSA5GoM|f={?#F(q z%kUQG$^6G}Q(bC7HYO2K4aMK$AC<$lpLxW|c*}kcJb$iG2<(zBYv`^2|Hr3!svl=<;-U{ie19DdG3y?+61(M&(IJ z(Tr1!ZcQ$C1HMzePwR0{Y6%cNy~dz5@e zS3}>TgSctjXNoWlhdep5mc_yx78a6BFE$_M;*Jr2=JouqI^bad6~&Kq(Yf{GIrLgJ zv^iw)Vsf#~Rgz29R@YW@^cGbl4sY~jm;6ce()0xi$L6H|)6dqAYTXMr8cix#!CP8Y!eBnIt757&o zXX&8R1Jqq;s{b9^u zuWRk@GZ*D4UIK+!sI)jr?8OqL@DG&nXC_yaNDB_ObV0p$L;IIq%}obzGxt`zlRK;P zz;Uw>1LQ(i?8@wEXTy~BF-za(&IqiL^0oKC07f3J*XhCuE+?+pDed0W(IDmNnbk(d zg;Z_yUZww`>@9=h=-Q~=!8N$MySux)I|K-X;O-J!g1fsD+}+*Xg1b8e=L~t?I;ZN? z_vhPPMGp*2&9J9?darxk*W#zBYNCFh(_0Z{WGy#pv)8v_KP}J-i8*E9$JjtNN zThd76xLXpe-|gireEMIUSHChdcyR~8>|We$+2w@m62IGNXA}1Vqr)*3T?M(0whj~s zbwilbPyYDVn#Z$jn{dlv{Xg4(I7$oBqzlYaS6gW%&5>7Trkz`17N=}t(1_@SMz-jE zKK4~(6krkk9@Kho55fL2hr4RvA}bQCL2QIc-l%e!%y5Bd+X6@p zdn7#zqLTKZ!PkQrB?F>QUe0>GeRb>PBSdLgRn{5|#Yvg|N5L(g(dUE+Ym8NmVnK38!0 z7t{yiO%mm;_gz2Coi%QJVNnhB4eo+xB>8VLe$IR|EXW<{!7qa3+XTQkvQMvaAuJmZrqoHWM3(G6;CkqJyQ#nNd~kCO z9dE>%4gv=JMP(`-m{bn?6%TvmC>B4EU$V$0i3OOMPLktQmJ4fqwl}qbXceQxU!*^43j?$n;qb-Fh|e zwrr3LYNxq>wj~KeSF`482=`%2nL;BMg<)LWHJ4V|B6dTn-nD+$7*|xE$t{+Jf(U|( zbL{XzS{Hr-0sI@^f;V(E@-N)eUsh_T^%RXv{}~#;MFomh0ic!$J`h*#Z-@9CZj?1e zlBJm7;Z04E#&1ywLSHRo-&F~H{RQUMWt$IXSNaZl%(N#-k`_a>n$GWFm#Taz1#%0Z zef3~rqy7`_Er@}&t^b)6rH<(&scrD2A$(<$eaM$S48%T!HZ$UUVE1qN`cowiMmaE) zt2@8aeoG8jmne&zfl)3P6)qS~6`_GI7?V&ElB+CREKp%da?p^TwnNq8;5g)2Q;X-1 zCzjKsy7Et(V6BGXUf{UUqWcN= zqJT|aNHm}!<)FZghaGy-sIn;O`RV& z3^D&9+JW(y$iNE5#y^LmA}faVq)sv?T&MJLO~ISrl~wW`-UAGy|AMvE#EXl~+e+!J z>DMEtmJH{H8B(1=lePhp7sfbJ_@!}eP_Qu7($fsXj03;8F`mGE6p(Of1IJeIf(rI> z>8s1MP}DS{2(3eBG;x4^D&5<2F2 z8!p9fu*2hLVeoOIF(AXf15%Nop``#YA{Xjy1e(-k2;#w|hzX9>ex#5}Ms;UUfN(z^ zl938QwF`*mAkhr9=Ak&+827OeZ(1pNoS(=bDu7X6NDZXidHJ0!a*Fga;RtnxP-)Cu z3~(L;&Vi+c`cDo88aAmh_+6ILV}Pm!Ky`@$Kgn@{rg*u5Fd!`dp;tEECoGIL(}oUPKS642oq3SPszDwkfAx%ei`~BM%++seQ z#tz1uufA&mLZ~RnXrbMUEx(ZY_B+L+*x~$BP-gAG)!f*KOS&g55?dB(p%7=0a# z>!eDHkx=yvique6Yv@NNR_5}^2|ftHY})8R)>u)rVy`+y;!lbGCn(gYq-2Ot;J~ z0JAJ6&6V~>%KbBmI^m*why<3Bza0Z}zd4y%-|!wBFQIhcX%?tZFY5LT&vKp+Nb&{z z!ts=jU;p%CWNtQqO;PjS!Deuh2qz zcvg4zE*|V_cV6fh2gxqLTwj&Fp6H4Zc(gRJ(_f)uNT;vjFa#)`u zm2gm2>!8GBZ$M&VYpzzRRffx62h+<+pT2fkozJLBNC5LFU~qk1+vqJPZ&u_9 z7Bf!N5F$8?BzY{V_A$MH_QjGmgVT@P9&Vbs3X1aq?cTm%-PYXT@Hu9OAY*}+I>aU< zEU=C?gr~5STAA5wMPfw+R4H<)KU8^oOp?y0eFZRm(6H|e)kG`7j#%zFAl-sAAElHBZ`jk0EH|1fC&WsHzE|fT zZRFDf*7xY63BP}(%0N2Dx8WTBuX@Iuo~cKHQZ$?A&A z!Z$4xi_mso*0G%wl?KZ9;qNB`17F~Y;M_#Q!+!Hv$UM%V>xl+Hj=7Ch-SF!lt1>lI}yM8ZaaSg@g6|M!ZU{3zqsvUp)sP(QC?y5;S?xPSl%P zsXBp~(uQ5S=M?0e62o%nhy=GNCkg6+8Z=izl}V8qq<%_skbVU2Hnq9bKZ4R$U6fKq z(AB0nKS+fPtdrKaI(burY&B>dq;XE)4Zv;vGX)gGVG|5Z5@M180BWUD06g6v;d4k2 z9`jj>dGWVD_d}DfuU-XE?wg>JYv|LA(|aj+j2YqWtJ&{PlIbq03G8KASfC0)_L+Rc z*`Fy%oW2QFn6Z##8tf+8yA)!HsiBX{56+Wx-h^b>CaOXGRBA6$n@xt6r?4Iim=|Y%AGqnLDon4)nx8|4>VD^dhdL3OBHbuSc4p4b z#urSu?Vr}MT%TS&XAs@&XLbxKy>b!-3tpN1D_)X5v%To!o=!WUi-E^l1vb;@LdF{> zNj8_c&BdlE7#a`VSyZHtI4|1G^73i20$-t?}$WLdYM!@m#<~B27 z6{xbo!p`C$Lf=25gDZ`zX*uYbY79v4V`-3r>4Vxc1bEgftGZ#~84#-3TA5OUEA!*x9JdlWTax$TRHxZTH zN4 znEU?3kW2Xy@i!2;2xxncD<3<}8B6~@4OZ0W{r=DNZAOa?*&|-)HFNF~gARO4B#i-Z zG8oGmtD+?)#n{q%37Vb`B%dx`ok_1)(M9$z@AZkL2NN=%KiD+2p3PVKj_Fw@sjj|| zLy9b8Q)fE(1P^j#Skn7QxG!v^Yp&n7{0KF3a)640@Wvnl&6Ek?j^jH+$oUR;0m+oJ zy&9sH4oZajhy)6X-92qBl_LR8kxfC6E}`L1z%I5g93@X&7XWVyK{Uo0mpJ9Gc_|{o z=tI?$zMQq|C6h%d+=6^D-{4I+r2B(bn)%L6Y)5AQBb=FwArRafHaXLTv-ja(*S9LT z`1lUvXkpd>AtiV01;{iP2@Rpvz<(3X67Bx<*PcU=2m>MBOO|7!a~@+GE!)~O%JgbD zIw@KikEg|O)=Y_-IPEK{`U?CdS7-f-#>U@WkFe%{ z3tn@yoE?u$@lsl<<4)MlO7}EUYy{V!=;!}QWCmBp`NIAcx@-~2_<&%M+Vsp5PrT1+ zXNMPNt~7A?IGo@wNi}4GFfN8xMm7>W&Ad%YWS0ue)#Zl~h}952q)-_@2iwyrhKnT} z?5|JuJaFM$mUZVT8{2JjaGxCS<>>CL$LWxOqX8t(V%lN+x$j*}a;A(wSH4Q=bvZh-lllwL3WoxXXC4&0x2f42%<*@u(BFt0mC@tkr z*h)5Y^-ZQxsD9Fwfc{W2h%bLLiJhbsAhNLsBPFvq zNiW9g<=lwOJ3<5Wam@}f{(Mg6zmoseLo%sw2WNSE$7%YQ#*aiQl22nG0T4su%0$`y zfgRX6`1V0QQoQwDS&M(flX7?r9F_Q5< zT*h?Fa1W2r{lKG4!^B)p0=Nt5m12sj*B&nL^y%w*+JVkvS5q{$aY~Qvkf%>mSA6Grew3>@Eo_bZX zn(q4v)07K^L#If*tvk7pg^Q#CcFL7>FP>h>7=W^*MtsHsFweh9V835%U-u z0;P>21b(Fcn1Xd{pR=CXi0CMl41a4O7_XQL@Y z;a=xbcRRJLlzZnd6$Ma3RFSd#NpTUn@mwalkj*@7T$@p1+vd`-dRo-jn0D+)vAyS>Y560NIC=Fkx>bzr8mdY7EBBre%|dDoUL zFS%VGj}O^%6N?!2oR5OCco&cKaSw`Sqq8~ez$1aO6tiW%^Nn_nMCt`VD&~~Mz2lN6 zRD0DLF?G?Hzi*H^WBc7(TSL~sLqU@$#a#GbVyrxy-P75tetD9u{3#=&$6=H$igcJ? z>FkbOS9WgW7>m@cBhsr|RN$!|nfPV#*opa1tLKIvza!FU(&S7EkDTJnB&X%E=KZHx zJcRmt@UqU(h@ylT#Z9PCQJKYZy{_)1x?#Mi>$lavp!@m)sBU3@86{YU04RO{z^8i| zq^0eZ(ZtAD{T03dms`(* zc##+!$S-y@2kc6MFecQ-rAPnJkAa3wAgL#@u8fJMb}$p%WWswXN1()aQ~SnHs<#+K z8T_w~fHx>f&>~PcyxqY)ztL3b+-4)8>#=wVsy0f0*g#68J?A6}aW5BL>th@{w9f^- z5p9-ln{UhDvSPhw?*%caIU=ocASY`92#4S%0tIEMPA6iWg1%%9gc?P$aW?kA(#n#RvcSpa1_R;4aL{y(Ena9r)x?B*6 zx}vTC!=kggdSA!)D38m?Dp#5tpv4CW7^?ub^{@hDb3I;fb^Q z(YFcH9ToRlCz^>T?f`x9D)6cA?Bpf>g{gM%w>+t+i7W^HacgeD%+=~yqEaJ}^X%^P zGUIk(t~PTPJo@QBG!n4~;_&`rP^)~K0zW{Ijceqfb+BUFzI3)Ac6Tm;M-KGKbBuGD zVvr@r^H2UfqtMNhgb@@21I6&5_&A+CJJxS0h}v7>Q%g9Pu_m&l*N??sai9FjUu0fo zQEo6{6MxgR;jBmc@V}*MySOZiI$w3$WBAhTs`54~Y%TbJ&%hIGf%#Ep#mI0`!%R!+ zrV}smQC4ImN~$IXDXNz34w2neGHQpr_wnk4U&L*I4M2|=X$DdH*W+A5Oy8#N2GjjRH&c(pa#=y+P1OU0R)QR7btW*rI zk3w-?g6e&}gkbqr!KlqgG*b?F3G9bUd5 z@f8-X?~8CXDz60AQO8nSf);sR3Q^B^R$ONCgMcdax%$Voq-EKW0W8uPyJ>TO`^cOv zZ%C+G0sL}En#W4Lv!#9GYQUG()!J^oEmN;{OHp3fvJfQJ6k+ayVq8w=`Sa+;kWUMf zk{A`Hh!ha(0~NjAyMGAV-qHcV-7MHFBteuE6NDAmN=Ca$95sZr_$U-T(S?uPZ2}Wx z@V7uv`(1IzN3>NixaP#&)4P-JW(^X{$QQb=?@u)VM1jAW9qG5vm8T!6hwv*$)Wi{? zZOxEbY*e?@%~Oxn`wW4?$Wt_D-3PC=$S@Mz)6;SF@7WYhFM^B6V5nU$cOd{iIAmg@ zO0i#`WRJ{PR-+8CF#;cV9yQ~&d@@Q;!IbOjrdvm}i`UUMBNqh8XCwRXeh?uD1(3Id zbTTVJ73kkQK|i{O(0+X;cm|LG)0g$n!{*429+CZG0g57VB8!_5qX=G(;{=06aZKA8 zaUvoto8uvMik*tr5hH)vN^!r|se%G8H9Xb_Z&#UY+4x#OhK0S}DWDiNsiNjs2r#f0~Gh-8y3TU)mQ&iV|>203PxTKl6uD zZQfbt(ei06rR|$c?Oo8#6Vj?3He)YN3SwA4{auu90w^YVYWSV)nGKUd^lRl&F{8kNK#iX*m(I&8{a`IMXa4qc=T$w$-#@J$ zvmc~wEfb|h`zE0P9fMaq?ypMxicftJRg2TD>ua`6oaZzuyNsOi>PHz}6t|cu>)HVzfvfy!r7-xIAj^ekO=>KKddvdP$0@*eE*c zydvtnLP+v_gyw<<=aL5J-NM>rqAUNLpyRwEMjB7voTR#r?a6QX`z1+bawlgL1W9M| zJrflS2?^uD;S4&fNRfr^6G%<4k{AbOYADjym|7NUIGO+5iI8Jz$K#jS-CuwgAtO9I zTtFA?3jz*YQq}$?1fx(+O;lr{KJuVGI+SF2T05}Joc!LzomeqxdcXFd{g)r@SY}klxH*nbqm-tH zUHCWnf*3PZy(mh!m^8JTSP?BX>401uABqW1wY-u=54$qF3_VhRlQN2o=6`PRyD~nw zws;M^^;?_+GyVRu}e{#l8P}O5Ow91)BmvxM;TTi{+b=DGfQ;Z^MEd!RV zPbl~^;j?bxII!*Qmb!7`R}AXanC%!PMzx>a_k%Yt7vj%u={vtS{g}PX*YX0Vw{uP~ zVI204243m`KZ#22w_esO%H}tm(|4@34-*RMHPe=XG#ucD4CLX2S$Uf%9+{$mBwROInZkJXgzq+dok4WuMDu=0>J>?cFt|u-)uA z76K1GQ-4r7q7Y;NDX>I`lO06Y$wz z{k3sPebj0dEB$Y=3xgbw7e>!x$>@FUJ%qn;-=ZXw+ycnY5U_jt3=3xe3=2+W+`D}w zB0oFd`wR=#eN(*WhlGsM_RK1(h`SPP8Tv-0hELnUBf+nL@rFGAV5W%_FzO6djB2V> z;NWSUmFcd)C}&l~tHFB{t~WD7cT!v4>KmvlMe7SI&7e~%@`~BzV0)mVnm1=xi>A>0 zy)ivwGM*G+Pg2|x_P=&EAVt;f&WC(BUU?J2GnOQ8SiB_7WU>{^5mc+noZ+$26FhINCrWML=IA*3w zTMLS%qlaU-jPBFnC$<7tn>aRkf`sH5HG`$q=xJ?UE4%E~Vwl}4W7zYRDLZCFYEzii z>U4pS>-q^9{KAU=ZOA7b)8Kh%juV-dMeJN(PQaYD#@eghE3397enve$N}q$K`@%Jc zeg#e-t=(y@FAgR+`(Keeh=fWn@yOnl663Ob5^vqIZS%|Q&7YmJBY3Bq-(x+|d6?8l zSBgo)?_*vfl0(%MI#s+}R@;MRKztjGu$ie}jyYNxQ=cQVKljU?vIsszs59;zN68AQ z5yxXJ+Hg?liK?p_vCp|^g0&*f{QK?J!+=iVU{8a&hs~4D=t!7&^LG_^8KoM6#{2ad zaoD?;Idsi)tc}zk`vnD;;_j!fOu4Ud^<1Jwsq5u49g4Q}@XJa+qFZG?Im8w4dnNbV zhozSC*clp+Bgq|(Wh#a9KnQXFz9YBpptPQ&uD;h(>pQ=~V+Vf%h5g~u;Zj@H?z-%z z{=Rop8#*GpTRg2!6e7FjIVcm0DR=JbJT3SOGb;cN_C|f(o{{_-MGxiD3#X9ZM?PCE zbXXUDQ4>*rQ}`$dHAmpytbCb63)JN4T86vB?~7tazZSVK*Doa5gz9gZY^XF3aKFz6 zi)@XLJ88(pT36exGPL$05V9oDKq5=*7wW`=aFmLFtKqZ}RJm&v1%M{GxMD#6q|*yn zENS>xPnMd^%X$&0lu9ereVEvA-i>l|bavKE`kj-=qB>gaS1o-)-usj)*o>!^P5z~_ zH&Gq9DSD-gS~=uFLMALTGkV2QON-YX>^(m(7$3P`kEknT`pEIOh=iB_Mlg&?vVV#c zh6xfi)F$2M8talSV>?G|oC|0z%$2k4oQZ!WSDOXCQ<7nBL}T78m`^^QsUMH?GAJlI`)CpdCTh!)NKxOpyqORx}) znUIP7=Om(5G@6}+R8IH#bU6kZYDq~2Viy7|MYXliC_5mzMeUj|$TUQ_C@t5q(gsp&^_sV6fobnyH(|Ikx zpaGW&&M7V^SSNu3lIV!@M~4~dqpixR3KT{$WUDHcNRTD?jsvl?^rC-lq)NQWOj`yq zE<^f^&SXRAOnlk`y@7frEy{0Nr~U}-G+8>k&$=4?-tX3@{M8F~;&h+@lsimvMf+rHS7NYqaD0y3avli{^pfX-JVNGC=r3dVBKh(lL3tG0TN%2!hq2}?; zi{wQDfsrfdL>IzQ;=2O{$;Tc=cyxB*;aX~??7d-DIq$e2ST;&}CvNHTx{UHyrPgm| z?noj|U7i^*?bD%N|8A$d>`GbGa@5s3u5~{dbg06MtX~HeTq?ZGd$_1|%F@lFl(tvf zDXlta4nf?QF}ao>H`jNt>y|OeZor+&K3zZRw{ef2IR3>3*berIA1=_QhE3dws+7j; z+0>rGJsrZo)-GGT)n;TgqWO+dgx1RoBfbOPg1NEtGw8CU{}~}l*VhrKZ&kJ7F;}Lo ztSoB-lVVo$A?1y|Y!oz0V$B$rpB7G9eS(kC%64Cw!kNirS%osB-mKK_zGR?f;GNBC z47{D$IcbLK*W%<-xasc`!9k0}9VU%jRgxXnvGw>Zn7k`y;j334ehC|)sy{raSSS9= zvvC9O^>gwkHcP)Ei}e!yQ(nGN3nN-GTw-;5U8w+L68aarw^k7I`(^@XfCq3 zm<}>Dph;(=X`@qMNv7k4?@dWW97LAdWB*{I;Lel8r{S4J_UX_ok^G7hU(|Gy=GO=5 ziD{Cy=@7P-B)Z!7)2S>FzF`|HjJ!l&Mj~xpl2T%;k6CZC)%?4lMO)rxp zS-vz;qBPb>8Y9+x0$jqu!Pi0U2gYm%Q^gR>_#?PsB~qxNLBe;T>0FosG5Gj>vRgiA zQXxFlT-MS!^qEc7;83Mz^#Kuoj3yuQ%o`P)?yi>Q1ODNiJQjIegZsAV)a0Gx0#u7tAfX;a`ZLb@Kodv{(N}q*J`iXz z(=a|o6@ML7QJC-{U;)>VrIy$QiGylez6S%H_P9TZ*(a)ORZK9HG z3w7xV{0~4#2+JF>qN|#!lke5Cj!G6^I}oN$Jn&t-k|o|Hl6tDJJ6WnrRuxT!{8{)D zX@KG;9TA4AvCv&ubgT;V@)i@->!&s5fWjBYI(8~7DWWS}pgT~jj!dMYoCiHSkf7ze z0=7|o733~ff;ia#K$#_irePqmcPGZh8llD};{R3sMTwLcmEsyQMrhVP60N`6*PcWO z6bBoI3n>~C`dPRgV_X(T!fl9X2e3rC$OAnvdC184z4I`C0)6&bR}8PXU)qTb&)wW+ z65vpWSBv|$?&Xa$(uYw+)kdjmkRw(D=?hP7b+q#k`LD97G$?}{8i@ar-3)x~0MrS3 zy8~-8I}wJQn8Ym=yu$|p$?LbLOVTCoj4^b!cZ7`Xr(M>WjE>;S-oYen74h%jrlO!* zI7*#P1Tx6@lT=4;l-R+A8NM(=d;qX5K^-W-B$y@25=SP>_y)Lqn6zO6WH+mFc=#ry zN?t?>IK5$AuIhZh&94FSgFIvy$Os{I^avD{$tKnkW@1MYZecnszP-S4x1$2)DdTro z4Zo2qI*aOOj~Lol6KTQPCeo?xqu?nN5*^Z>1M+~HK+{4rLoqLFr_5jTKCqqkwmbX$?{2Cfxp86ZNqVMhK;_!5+GN^- z+(}X@jk&NnN=f~2nC~RahU!#vK3rB#^9Yu>kklY4EQ$tX9iXrqa|oNNGu#ZXC^xJ} zfdRukYY)@HZw;Z77J*TuoHcT(6(l&=L|Do{^kUC#gvMw_0bp!=n-?%vU>cX;_AO%n zoSCcv3U#3B{EkRdL@7SCrKCBZeB?zzW5N-K>_=%9Vbk8^xx)^V5aL2~oz)kL97wtA zV_w+ld;$p9$QM6@*V-zT%3XSF##t9JsNkbk%0GvHh4}I^4t+m++oWcR0}b}8+hPy! z4uRH{`EE9|VCN_yeX^sHP-NVY8&uKq#=4 z{kuh6Z%vyQTauq^H36?37=NR6+-KYpD4Oed=gm5M##sxpwGxSW4Ot+hfE zxBrY;N#?SyT}D|-Uu~>(KHp6S+Fsbx3pc0oQT7}8Bjs~X#HAQb1Y2O<3y>~KgwFLj zS$7%^#3G>tkDmG?a4ZY3>P-x>6B|-Q(^{j<5jpu&CT7>Q{GwMLqPLO{L?P}AV{wX8 zQov1Nh+S=<4pqWF&gP<>+QY=+Iyf8W7>A6L?;}oxiCHNpcABaev@4tiYjG*!PAX2? z>5&Voq+-X2r!-F_?2qzo1}`Gz*IDqz(~kGFA%}9>4W)GoM&U-v1XC#5;4DxNYP+++ zNgk`RzAlsRUGCobp3V53ZR@z_&bKfF4JxH6`nKb|^yKwY=DKxyZuQdELa%?Nj9W2yn~e-`{#^9Vu3hRzi&Q3`!A zx@V9EqgN_TZY(Rhm^YOB&F&?5IjAni#C=0R@Wdeb*Ym0%I?;}eKG7V3?PnL^&v`KpbZLh7NA=J z2>;9JDqwy%YHn$s+#Gw~`bB!L@D!@f*YUhKhdN=YA>UQC%3 zC6cdlVPDD(+!X@!r)&+Cg$gGMBMP@_oHYN{ywB!a3^+XXE6=#MTXfbhe~s?CCa<4* zDSfhtCN+qOz(a<@OuJzA-f6v)DT^0nw^48ZzP^3%{I#qEma;GlDdJM8D=j8#D|=E> z|Jd<&1jAGN=_#cvF@o}L17@a$qbZ0GCw{SuSu=d$+P;li?HmT!gNOl^(6ezGD>dD! zNrTU*ajQJAPkZVo45Hf$zQpzR^vrnDPcCS8Ig7|*Ih#>Te8nlf5i~P*K*P<04DQEt<2~Y1;AlS+41ZLBnzbtS%u4&r5zB6fY+Lfl<7ysPHA(JD zBJdRb#-`{sr*d*HGaJ~Mj~O+tu6jWRAq{ABTO8oG^4ko^K_bN8|8l|d{&T@K4hQbG zMRhhWy=8iyaFkXIz4WJ zRY8$Vht_e!))Shna`~w&zxdtKlGL3M+K9M~G&D5~y&b5pj|Vv$(U`JouJPTf?9$r- zO`l?yeo&e^=ct-vY=+Fyzeabu`O<%l?k?Orb=sc51jD_&zxs}bsX@}M8#d{9@t6dZ z(XZ5TkFpOxl00=80a~Iy$lPxZhn?xR``#7SvEEka+HLfFfob(<-G|Re(6J3yfjQ=; zhA$-nBAXrzJP4%kseIM2EyITX^Q~KdR~jA>sv-Jj81!F{$|^dYzNF&&x0N2jMP_Sp#(Hhm4}+yt~7Nbam)0(-ZNdx!U$P}gbg0^Ow}_bP~*nl5prW@K8@ zShcpGBF;@N`_FkUZegvD;;{BN;@3V9Fy!jgqcaF@;p-q2b$-S1IW=0P6w=%Is~TIh zh}M^;KWvJUkx1+s;0hf_B%B?B*>b8O_uM>eX_S{qVW+yRAf0~_v?}QCQMiJea(}mc z)=A1cPE$EiOv-mXa;Se@366vt z@>%YcnchlN2?sU?cJAr?5V$BCwsC#@G2?kPEOK8rgUZ%<6M8Go zHRZI|n81{1v9@)B*zPhca;O8QGAmb4JC;C*xU&8GcbFJEd?bUoH7`NY&%)&1KUvh} zXN4$Sp?)O);#tD_GcF_D77gyZ1jss_(|XllRDnTT4bVqq?MC!NJt#kw_#G5O=5wbh z;|VFaz6CQ(PEPht_VzkYXfHa0jc>ENU-{Nnt-Zi)b`H%>j=r<07!8zbutZgLICS?1|bw(kDJ{;Z%um(BBtBYOjLYOL>4_yyfD zcj*4)`QAKBdp}DpnVfG`727XC-da+~H0S(U6oiYd;}`hqAEEXmQpo<-OU)PezhdMD zKjnV-M|+exW`5!LNLKrGAzFHsEcrbeh22xx)Ur6h=PNb9%MpU{i)JMPh!-~7V29|h zxGql|?^3Ko%XLn_(Qr6@JNJsU;|mzs{L%Oxmgx0)(0r!KbcMNW3;-DdU2tur{{@E_b-v6vM#*`eQ2{}6>QC%IQK9z_k6z)<~86o+f75k`@@Hf`MSvmbzr zJ?(gQs&7^NCmg=4%FjDP7o>bf_D&sas)jw$N?uVH2BMDVg5SY?KUVFY6;N>A{P43w z1G@QB{FMq)YOk_C*o!oe@>=4z)gN!vsmkIkEA?Yu0OHP+(qhVH@#_j>-a!%z<< zrzj8=#=~ueWBb&rV8m~3q8~4R)0*Nuc#AzxN}=_)6h^>mGd^gf-Ax`3Iyrk(aCpZL z7%ZTb{VF(AOxF>q!o*_r7ulZy zboV3M>+r<-sS65Kj!FgrMu%RQ~0#&oSFM?79czImDt{U##@pL@~-;oRF)Vi9&ApNb{ zAJ$&&$^l_aip4t$SuvQR-V;KfVH@RViCWd6t!MgcUxiOscGlc>JGd95HB$$lbC}Cx zb0nCKuq>o?QUpGFmJwEFH*avUum}(paI5^i_rwu9Z>P zs!d^2IV5Q%Ve(CBZ7LSzV>;3lvZ;#*6`ZtB16n;Yx{B6unX?YbGU*0$&bHHQ9E0$W zrWo4ug>AEAuCG8Vd&Z+P?@slQlh26;OO#}XxRBP9=Mi3UY5uGGqt8lvlH_Vn$@1VO<1Wu7a zrN`~=A?pCjy1DjSWQ0faY5*8B#8*Y~opGfy`WAgy54?a*r+BC&06^Q2KA z&-vBA7ZM&UFHl%sk(y3&D|n^1?XNAoZg}wWKGjOPpOV>-DE7PjGJZ3i0H1^6x zT&-2_k*fM~ZixIcBI2ZQc*_ygIBuEg+=~s8trZ8tLByN2_diq3fq9_HWqq%*4qK1@3~~%mz5u z#b6X>mXnDb@C9LH%}oO7X|^aQgZpDf{|wiA%@wI|>Scd1zov;};NIc2euq7NEB5sl zJ;m4G0V04~v0N3R^ZXis8wm_XK8bGdk5r{+ID{uI4Im?8bs7Pr3 zHDj(jhTT6X#&_4lMZaM9QJn)uwKB~nwlygJ*YZn^)hjL8e4-b3=DJ|RK862>T%VCu z_Y|1wQc;@!WBD$N7gllfeV6=Ixr0o0j`iG%Y;NxK?reKV9$i`OUYQm}lXd(~8eDzW za7!xc;Z8{i(sDX>S;7<0Bm$GiFcZLieqYHjMTHnIslO;*C9&~aOJ5Ltg7%6BR6uX$ z>_px^TD{T?BZAP(8e1c3V=)Q}y?IL$L%wTnT^M__bj7=V@%*#GW3WUwPpevu7;CqqJ=k zcO;*pR$WUjF-%-qY-K!uSSsLZP*ndR$M=47#&W&NrBiLmT~(ja<)XB03;d{t=R>@g zj8tWH-{@7dD*KM}b*`C^zreJ^^H*+FERmu}+T!DN_5{pSSRK>POT(zMJ=^v$3#Yqk zA;2v>z+S}HI^ZxPDO(3|s$rzycuQ>i*{%MfdskR*d{R0!=Jl@a9Nl!Kl-T7l`npP^3?cl?Y(b+czj^&{cc=^NX& zCGc2BuB>1b!3l_3ziUK&V?y1nJ$Hgr=N)ub^%iHZwF+xM z5vxgLJauyr!@FpePy6uu&n|8;FXXWU?XZMtZ&nSrJ~)GpY->-rDI`a?63%|K#VRQJ z+W_&J+>VrFblYBn-un8oSr%xK=192YhIkAJGqEyhFd0^KwW5RqV^DxEx^=mHugd9f z|0JwVocq@T(TR!33f_!5-Gu{*PkP&uCDvg=z%2D#JcvG z{Ah{?i~(WS6)=1cOj)oqJdV;sf%2mi%H9`a9>r|I{o@$@%F0eR4=)~#g9TVd!O%<} zhaX=Bfrx(OkdP)r0BDBbE3P9THG78@$A^-zWp1bV?j_)M8DONqCx{2Y8lArSYX^W~ zCLmb;6^Q1=Cy)gWAYi(Bb&dh?`!ZE^7+wzW=O^$<#W(B*QMzkH*;iE}p^Cib#+Nir zXvx#X)Cf$e9sS}aD)$OP05s1a3l9`*Nzuwrr#EziFX3C9zMyIzPUZ`40bt|N8Y!(vg#}#IKZO(=kP&h zsEr$}a`Y+4@FcrbE8Y44OB5h9c!a$a?f!wyPhhu%389rAQc0g}ik11cqn26}_H~x- zyQ;A6xNV$69q`T!wg&YsAOH_g>}m#>JU&{1WN&V+`Hoy)UoB(5y}b>? zXA=@)`~LkLARp1u5#79(mzNhHz`qfINBz7h^g&2S_$Bb=a|FD40SEZM+dxJd@IfGd z0*3=O@V5ov@joAg=woOIgo(XmI1M@_E<$GN-ltvW@5GrzrMaavnN%oPz&AP$X0Uz= z50|-@3C0px(moz00r4)$X0u+fM~iJcO#hwta*f}=MR{uUbu9mV^-%t)>2NZqgT1iU zT7Q@KUbzosC}G~ae$~iIP@{_wcc6xv|3B?g=puw~sG$(P6ysTchG>I4yGoeiAi|nkG$vG5pO;m8Db_I^k>-cHLpIVPMyeIElM;iw$q&W)b zVMCEr)=EdA;Plib?i^9QCyhgn!_~vlChjKUO82^!i8fNbCw<3s2b@DOj#9F`-{}9p z9osQkUL?BM=MH$^|GvXYSM4xpfhtllXS&A6V} zBhQa)*x}05ugvVbE%aaXe$zQOmjTEVe#y8N$~zpZ)EM-VBN#9nMRL}A_-Fo35)S)=a?NSVJg|RT>Lsn@RUZ}~moZ_ll z5cvapE5V5KXlt5#11oM#@l18n`!dd&^zxuJ!esAPh4HK*6gGR8}*gR$}dg;#kPGyh1lb9*$iVy zp){QgPn7cFKSh&MA#eMWjooK7r9s*ClPm+KX=?x3@SW9u&Q;?3H=1RulMM!uDCF%_ zB!1%h4k>2~rpq+(MZbNtTE9P@{bCY#mPh1dd2S}Tv z2^ebfySCwhd0b~8Ao$<%)*Z|90q8|(La?kjsEc~MRCTDVNCkR_O_M%*%{TXSg`xpB z?ueD|n8bsIt6_}Wz#jk4jV)zsR*sds17V?VP92?HG60rK_X-sN=~=;<@?{}{dlUg& zwF`zbsyWx?jiojEhHD#$SMeS_3p+Sm&TB(xQ*@)Ct}+z{cED1vb8%0ac^|mW-se7v*!8YHcZ|giH(51>+!;mwC0%`0M%Gc+SRl{}i zo?zgXCq*O1L&_x3O<16i&3+0@G)~!EBul|qE-PZ;4zwa(sZB1@{PE|z%pW@(T9^Lj z>3Ca%H@M<~kdgD|_UGE+;H#m?l;D5j5smskWPYTjyMb#b=aOq@#)hTGc-y8fP&#U0 zYk&bKj^yH%tGE!mEwz8gn$cx>%kcD4|mK z|3lO_fY=^#Ee9+PXuj42Y#b|TXm8$R>l6JiM?&-Qc5NB`AVL0x!5f^$`&~4 zhBWNb8BG#zISZmCKEb!hCzg=1GOAiD-&Px^@vY3_fuON0Kvu#`{XlmtRBIjBG!x z*KN}VhxHa~y4zveWL~_n#D%ou&1>y(k?N!|7`?woIi(V98mK!np zSB7Ju+m7V&eAns=?;6GHiSg&pc}Ugk_k)X(AAR?p63y)Ijox%^k-SR!ilxuHiF-zSGh9-T|ZPF}Y*(L?_|Psga}Iec!u z$7B2I={6m!tPIaZl_T}wYUG#?u99PzuvNqorvYDRUY$toG0HyVd|!V#gRoqiGTEij zS9a_>C#v1?USzVeKRt*@AR6Gaq8yTPl*2>XO0&eMh*nB}ta6rUt_yzmnOT+q+6`j8 z@XYg;CYac!RILBT`u46N-A(>=1#&ZJrzMZ*nE-DAHtwoOK!Z{1Q?2x%gPM&HZ%Bo? zPbK0cW5gXxk(VNQyzX!As0J6kx`?85CISnaJ#Akoy8n3BhT?G)G`w}IU6*+dUOlhX zT1W1sB+CUgK?E$CTGTJnwhg*ii${NH_%$gvjyCRA-ClgV*gZayA=namBxgX}_jQF$ z;l$nKBE1kqfTTE+KN7dQdu!cDM}N%-^cEZqNR*u+l)RaxMrN@gX&uEhfyaEw7cnvh z6_0h}7X`D{Kd|A4c$=?T|cKc9K348 zO*e5L_}Yfto|ol0?Aw2Vf3PjJ##n1++dU(&gJ%S?8Wf$}-TQvIt&_R$efCJTU74Jpsbj9Al+69%6@?H^*qHXP z)v)TLaF^(Xb|JTk-Z3haal+m{c+FYwiP*+$Vz6gJ(dU18>popaOJ*&fK1gT(XU**S zC5$$CRDLpQhOkWVZv=yuu<#c!dKe<0jIG=Y>Clx&kju&&#t`iS- zTp&Zir!V53a^VbT@c99$g|FW>Unh+O8|(c&{$p!NrXd;&{3ot+6o1N?m2nz9^>A1N zB)Kmt1^Y+W66YFkMi+CjCxukL(?C2_J{Lw%Za)3tHdV%yZKwNm_>Q2!_$lHFH!_$2SOaxfr`5f#ZU3eRP~uL89s;|0E|OJb3e}qG ztx(Tw89|K;3ML^hew?4%qJ(CTu*VV_e!eD!+)+d(b!k2O>?e;;{wd_4TJkIl4i&2= za@|ahs-5PB!I@G zJfQ?-Jh^VD%DXBz&zD63O2j)bg0avSPX)rtz`!CDm5dXw`uds4Ov3g0sc#5XROkLj zLuBRlc;<|v6~hCj3FOq$&H-g1h}nvc=izahPWS89_F~@50^3x|fij^=?v1S)rt?~@ z=IyM9!mzWmn2Q&5rcp80ZpUKL!+A(eYc`_$=1z|h|L?mHc?R_yhJWMMks+1Ovmb+u zUfK-)-7LX{yNXwZHEJy=lMAG%p68S3&*H-xjQS_OzO!8bZlIU2ca#v{!?D7W0+g^O zlu_h)WQki?o*lNW$BO{Kq^!Hru-@hWUbq!kl-EPMsq~H4XSzPgxdW zua-W1-r>ZvelAN}`S}U5S`0yI&+=8FI1)YQ$fJ9q=1AB#{M_OF?ea8qi0n2_ z+H`5SD!-lmb7oy031L8s)6Sh=*;-6L-c)7X?PAZcnB!z@4472P&`KBgjBT|^^zD=o z|G~chg@ixeOhfx)86@fZkM}Aag!x-@gic6E-;18g5Gkbs7vnN0jjJp^Q2!+p&dwYs zZufY0a1-i3hQ3fIl}e^J@NH1Yy5sFKd&E^vrN920|6o(`!NNxRam8s;9PgEbd~JhY zl5wAl5r5WcCz(P|@S^sbp)q~^Qr56uh=XXscXjgX+i-m&b5W;ljJjxi!5ojW*+`EFL}Rqf0o;^SPwo;oHxekIhCXJR6pt4X{j zz-RJJ_)E+IKf*yn)zU6V)Ytr**&q74s%ASL33AtFn4SCLsHrkm+Aef}Ebbq23?^@4 zzi!O1YI{t=Q8QuN`s{DnCjRjF9Eq2Q`*G20NF?Z_`ysQBISx}%iNmAJ`ic6_{Vfu6 z?PWgWN?<;c_xFF`wdE})Z7yl#a@?g*A^WS3{u*NI&$ESwz)y4{tKM%n#904T$hUY7 zrCqdX@z_~i0JliV2f+(LmI+-Eb6i9)NwL@EpREK+AfLCrpLh3N4=Zc+&XIK4f7-sE zgvfQso1Sn4iu80T2Z}aMsZA}5ty}S#6F~OxN10v_iLaDGZ9y;R1OpI;ns8Xv!2G3f zXQBS05}d!Hc{7I@fi37)8#KP_Xth%PoIdwnHqHH%ap?|(N*Vs_DL)J-4tc>=-#)BV zH->c^9hf}T@@i9_PhNUi3vjnQG_JNvc`5ax(IXJWb_H(84Y}cGZWhEA)#2PpHS7WI z^x2#E%N4xjIse0<8FkK`MH&WH$gke+F(9py{jsnKyya15nx1iR*$j6W@Bal^MTB6z{ zxpQ3O7ap!Ef|$`{zz?cg#`t}#ZdVIM*w+#^BWD`r%;#%5i<9{_W<7ZDLu3Lk1Gdj` znk5g;4I-#8CHyD(ml!%;doRR=-Gl^Y?n_~sSr*~7EMn+6__S$nFLempz9h`?_J6=TCghE&2$hBukT#QK07&lZb9#X?g4BW$=ySJEVFh&p0^TLUe;GI)H2J7rMCD6cR5a3C8tna{L$XjoXAi5iBIaN-J#(nU&t zf2HSM8`Y5%N93!KKB6Ih1r6x_r zcA!bcbjs4)*h|PH886b01%U=6^7y+YZ?(eN+QkddG8%%Rr2H9!S&@yKRx*JNB5xjf zTD?e6Xt~V6!$H}f{t!mUU_Td0RvS2HkEI5l_@8(OzX(f2`;%^X#e_~;WX;H`ViMHzC#{q{^&C4*C&K~gkDl;ZT*P5 z4e|%8eXBPv%BixAbE8k~NbCAve~B?H*UouXz9ISl&#}$sF*rSrrgqZo$NRwYvjn(e z1=J>z9vUbrC^BOyI3i1aF`}I2UrhAtU@*_s&(*u~F0Z;OzHugv+s?6;Z_hEHG%^tD zC4vAatG0CD(HMeo=^HY8c|zXbexk%CMrq`*@n)WkQ%YMA-D#|xa(BXb;F0(Wkw5$d zJ3)3(El*GkMUNcLU{L>jjT5#H6QS*|fjNRM!w=k=$8=*krxHw8JZ*+g*(G+GM?3NT z&C^`NuS?&~8*E%0vW0R4=6IL(znG~bF}Rq@uKDuDEKjmq7UgUByf7T6J8R2$bY-btb!N$$U0` z++&gOQhaBUl8Gb&sW<({{c6{A(lyS+(NJ2wgH*~pXk8n_eWKl42;ng5nS(vdZ)c6D zFHWSH%gxHac_7O9v>8}-cM9TBUcrZY0|?oTd}q?@oOYLpaTX*@N^ zcugr6SK>SUt;>=rr@)jnrxe;CU|%o(*KFeAgrjU&1`tTn^5T{XMS{=Ao!NYR!?0eX z0Hu}N`)`^k%oQ8~%GS7FX*=XPn+0Vy)Di%JGde710W7MMv@%48BojmKes081Dx;8` zS=vfaAa-SP+0l=XtTyUUp4qnUyC5uyGn1M19&>Iu*UZI% zL7-=01P>e|0*^{&>cloX(O+tG+!*6712^A~{bb-a8}G6er0Sf1HB*A_g=mB8s)rAP zL4w$>NzfyV$m$FA_I0=M#M=;5XqMN-HN^_S3B4r|)jecJ@|g|&1HvaHy&FdRPZ z5*aOT{F3M#PA&N4PVX9yDM5L3#8vGMh5Y{gk3y^DngK(>ut6j-SL7uzpFoA?B4U(+ z;McKHb5Y8pJtgV@P1!-#yCiPxfC$u5ZSB>_YbA3G>6p3#)1Gm3rt?+srjNLGwd8!> z)A*fRqD=S0<=yFMF7BxWciKbNg;!rPi|Q10lm(fr65VVc%Qu`iEd`)_C~~+8xok3K z2{fpPg46~iQ}Ga?$^6lly@;I9{SnS6Q$~mV(!CaE*AL#Mjc6sB@m}5o!UQ}A`5cXO z_tkczuQt3KETDj$e+3?mh{&)y5D0m zzgBz}$#0Qp=}mLF-Mri^*GnQwacLsT(Bq+?!S4%NoW8@w=jto@gGFq4W|!pa`1?&F zOf&y_;DhlSU6Us6A(M%60&%#jyttM>#7);!yK44{UUz_y0dunuw8OmK5pXVjx}@@! zE@UnAutZM#1nKKufMTQ|pODPLW2c(Q%&-(|KI?*NTRdOyCQ}xez@gT48|9zEE!ca@ zKm--I+;Dl5ulQRswf!yCPOCucDtX2b7~Jy6;5<*mMNI<8FbjVG|6;~|Dqp9X$k2zC%Zi_Xkp!s^3b1?s! zFL+J=&$|z@Q11Q6tKHRZO5M6Ia%ib*JSwV9@<96PrbFwWwj+^aiAIoLY4!8C{=$NN ztK2+aK3^`7`rw4kC{gvy3AF?oI>Yr;%6=qGmCpo$0cZBFW}5lUse{2(6a$GPEhLll62G&cj1SHCsW=1_!#c|?ZL?~^ za6|#7L79s$*vgU+=Eh(oZ^AOEF)<+krLOk_i;#{ZnaOqSmp?jDYJvx>U+zAbTtJ

35l{Z{B+1g{)x|y33D%13bm#i+p#X(e6O#M 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 Op~_&8&Ho0}+W!H)EY;Tl literal 0 HcmV?d00001 diff --git a/test/membrane_mp4/transmuxing_transpayloading_test.exs b/test/membrane_mp4/transmuxing_transpayloading_test.exs new file mode 100644 index 00000000..31e86aca --- /dev/null +++ b/test/membrane_mp4/transmuxing_transpayloading_test.exs @@ -0,0 +1,52 @@ +defmodule Membrane.MP4.TransmuxingTranspayloadingTest do + @moduledoc false + + use ExUnit.Case, async: true + + import Membrane.ChildrenSpec + import Membrane.Testing.Assertions + + require Membrane.Pad + + alias Membrane.MP4.Container + alias Membrane.Pad + + alias Membrane.Testing.Pipeline + + @tag :tmp_dir + test "an AAC track with custom sample rate after demuxing, depayloading, payloading and muxing is identical to the original one", + %{tmp_dir: dir} do + in_path = "test/fixtures/isom/ref_aac_fast_start_sr_20000.mp4" + out_path = Path.join(dir, "ref_aac_fast_start_sr_20000.mp4") + + structure = [ + child(:file, %Membrane.File.Source{location: in_path}) + |> child(:demuxer, Membrane.MP4.Demuxer.ISOM) + |> via_out(Pad.ref(:output, 1)) + |> child(:depayloader, Membrane.MP4.Depayloader.AAC) + |> child(:payloader, Membrane.MP4.Payloader.AAC) + |> child(:muxer, %Membrane.MP4.Muxer.ISOM{ + chunk_duration: Membrane.Time.seconds(1), + fast_start: true + }) + |> child(:sink, %Membrane.File.Sink{location: out_path}) + ] + + pipeline = Pipeline.start_link_supervised!(structure: structure) + + assert_end_of_stream(pipeline, :sink, :input, 6000) + refute_sink_buffer(pipeline, :sink, _buffer, 0) + + assert :ok == Pipeline.terminate(pipeline) + + {in_mp4, <<>>} = File.read!(in_path) |> Container.parse!() + {out_mp4, <<>>} = File.read!(out_path) |> Container.parse!() + + assert out_mp4[:moov].children[:mvhd] == in_mp4[:moov].children[:mvhd] + + assert out_mp4[:moov].children[:trak].children[:thkd] == + in_mp4[:moov].children[:trak].children[:thkd] + + assert out_mp4[:mdat] == in_mp4[:mdat] + end +end