ELF(]48U4 (p : : :==HHH $ NNN88QtdRtdHHH<]wAh{X@F|~rTWd^,DI\!N3n%1K* m-= Mvjc/xGf9t_CBSRg&Q>u  $45L+ 8[';Z?2qE6zJ.7iHPlUy#k0:"spe}bYaO( Vo)`C !2@N@  d@ 0 @H   U?Z"8! P@  [}XK Q4?NcEYP՞F{׌a ^+{x#?}H H%3sN+z@KRid< S \V~(Sn:i SQ+ D>wE6dC}f*| HE м5_kzg`S)=XKU5k//6,>okЯs9\F ̡+a0KI YIR({eߔ~]U_yoFmh  9 Hz@ )3q /n !lQ$!' #[ ty<=P3 /!YS'O 8X = XG!} , F" &x! }y" D! J0!V(H ?" !x! & h" $ M0!@L !=0*T" lt m  !   l! L ! @ \  J !A" p $ R `  (J !=E" L !< (  H -$" $<" 4L ! tK ! #@ 00  gD" `a"   pr ! O ]   2 aD" _p   b" \! N y" !M ! 1 l! 2" F" K  $  st! z 8 \  hLL,!gaD" ] ," o0*T" HP 8" x" R" __gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalize_ZdlPvj_ZNK2cv8FileNodeixEPKc_ZN2cv4readERKNS_8FileNodeERNS_6StringERKS3_strcmp_ZN2cv6String10deallocateEv_ZN2cv6String8allocateEj_ZN2cv5errorEiRKNS_6StringEPKcS4_i_ZN2cv4readERKNS_8FileNodeERii_ZN2cv4readERKNS_8FileNodeERff__cxa_end_cleanup__gxx_personality_v0_ZN2cv8fastFreeEPv_ZN2cv9AlgorithmD2Ev_ZN2cv3Mat10deallocateEv_ZTVN2cv20BackgroundSubtractorE_ZNK2cv9Algorithm11writeFormatERNS_11FileStorageE_ZN2cvlsERNS_11FileStorageERKNS_6StringE_ZN2cv5writeERNS_11FileStorageERKNS_6StringEi_ZN2cv5writeERNS_11FileStorageERKNS_6StringEf_ZN2cv3MatD2Ev_ZN2cv3MatD1Ev__aeabi_idiv__aeabi_idivmod_ZN2cv5utils5trace7details6RegionC1ERKNS3_21LocationStaticStorageE_ZNK2cv11_InputArray4kindEv_ZN2cv3Mat6createEiPKii_ZN2cv3MataSERKNS_7Scalar_IdEE_ZNK2cv12_OutputArray6createENS_5Size_IiEEiibilogfmemcpyrand_ZNK2cv11_InputArray7getMat_Ei_ZN2cv5utils5trace7details6Region7destroyEv_ZN2cv3Mat8copySizeERKS0__ZN2cv29createBackgroundSubtractorKNNEidb_Znwj_ZN2cv9AlgorithmC2Ev_ZNSt6vectorIN2cv3MatESaIS1_EED2Ev_ZdlPv_ZNSt6vectorIN2cv3MatESaIS1_EED1Ev_ZN2cv5splitERKNS_11_InputArrayERKNS_12_OutputArrayE_ZNK2cv3Mat6copyToERKNS_12_OutputArrayE_ZTVN10__cxxabiv117__class_type_infoE_ZTSN2cv20BackgroundSubtractorE_ZTIN2cv20BackgroundSubtractorE_ZTVN10__cxxabiv120__si_class_type_infoE_ZTIN2cv9AlgorithmE_ZTSN2cv23BackgroundSubtractorKNNE_ZTIN2cv23BackgroundSubtractorKNNE_ZNK2cv9Algorithm4saveERKNS_6StringE_ZNK2cv9Algorithm14getDefaultNameEv__cxa_pure_virtual_ZN2cv16ParallelLoopBodyD2Ev_ZN2cv3ocl6KernelD1Ev_ZN2cv4UMatD1Ev_ZN2cv4readERKNS_8FileNodeERdd_ZN2cv5writeERNS_11FileStorageERKNS_6StringEd_Znaj_ZN2cv3MatC1ERKS0_RKNS_5RangeES5__ZNK2cv3Mat9convertToERKNS_12_OutputArrayEidd_ZdaPv__cxa_throw_bad_array_new_length_ZNK2cv11_InputArray4sizeEi_ZNK2cv11_InputArray7getUMatEi_ZN2cv3ocl9KernelArgC1EiPNS_4UMatEiiPKvj_ZN2cv3ocl6Kernel3setEiRKNS0_9KernelArgE_ZN2cv3ocl6Kernel3setEiPKvj_ZN2cv3ocl5QueueC1Ev_ZN2cv3ocl6Kernel3runEiPjS2_bRKNS0_5QueueE_ZN2cv3ocl5QueueD1Ev_ZN2cv6formatEPKcz_ZNK2cv3ocl8internal12ProgramEntrycvRNS0_13ProgramSourceEEv_ZN2cv3ocl6Kernel6createEPKcRKNS0_13ProgramSourceERKNS_6StringEPS7__ZNK2cv3ocl6Kernel5emptyEv_ZNK2cv11_InputArray4typeEi_ZN2cv3ocl9useOpenCLEv_ZN2cv13parallel_for_ERKNS_5RangeERKNS_16ParallelLoopBodyEd_ZN2cv4UMat6createEiPKiiNS_14UMatUsageFlagsE_ZN2cv7noArrayEv_ZN2cv4UMat5setToERKNS_11_InputArrayES3__ZN2cv30createBackgroundSubtractorMOG2Eidb_ZN2cv3ocl6KernelC1Ev_ZTSN2cv24BackgroundSubtractorMOG2E_ZTIN2cv24BackgroundSubtractorMOG2E_ZTIN2cv16ParallelLoopBodyE_ZN2cv9meanShiftERKNS_11_InputArrayERNS_5Rect_IiEENS_12TermCriteriaE_ZN2cv3MatC1ERKS0_RKNS_5Rect_IiEE_ZN2cv7momentsERKNS_11_InputArrayEb_ZN2cv4UMatC1ERKS0_RKNS_5Rect_IiEE_ZN2cv4UMat10deallocateEv_ZN2cv8CamShiftERKNS_11_InputArrayERNS_5Rect_IiEENS_12TermCriteriaEatan2sincossqrtcvMeanShift_ZN2cv10cvarrToMatEPKvbbiPNS_10AutoBufferIdLj136EEE_ZN2cv3sumERKNS_11_InputArrayEcvCamShift_ZNK2cv11RotatedRect12boundingRectEvcvCreateKalmancvAllocmemsetcvCreateMatcvSetZerocvSetIdentitycvReleaseKalmancvReleaseMatcvFree_cvKalmanPredictcvGEMMcvCopycvKalmanCorrectcvSolvecvTransposecvCalcOpticalFlowPyrLK_ZN2cv20calcOpticalFlowPyrLKERKNS_11_InputArrayES2_S2_RKNS_17_InputOutputArrayERKNS_12_OutputArrayES8_NS_5Size_IiEEiNS_12TermCriteriaEidcvCalcOpticalFlowFarneback_ZN2cv24calcOpticalFlowFarnebackERKNS_11_InputArrayES2_RKNS_17_InputOutputArrayEdiiiidicvEstimateRigidTransform_ZN2cv22estimateRigidTransformERKNS_11_InputArrayES2_b_ZN2cv3Mat5setToERKNS_11_InputArrayES3__ZN2cv6StringC2EPKcstrlen__aeabi_unwind_cpp_pr0_ZN2cv6StringC1EPKc_ZNK2cv3Mat3dotERKNS_11_InputArrayE_ZN2cv4normERKNS_11_InputArrayEiS2__ZNK2cv3Mat3mulERKNS_11_InputArrayEd_ZN2cvmlERKNS_3MatEd_ZN2cvngERKNS_7MatExprE_ZN2cvmiERKNS_7MatExprES2__ZN2cvplERKNS_7MatExprES2__ZN2cvplERKNS_7MatExprERKNS_7Scalar_IdEE_ZN2cvngERKNS_3MatE_ZN2cvmlERKNS_7MatExprEd_ZN2cvmiERKNS_7MatExprERKNS_7Scalar_IdEE_ZN2cv6divideERKNS_11_InputArrayES2_RKNS_12_OutputArrayEdi_ZN2cv16findTransformECCERKNS_11_InputArrayES2_RKNS_17_InputOutputArrayEiNS_12TermCriteriaES2__ZNK2cv12_OutputArray6createEiiiibi_ZN2cv3Mat3eyeEiii_ZN2cv6repeatERKNS_11_InputArrayEiiRKNS_12_OutputArrayE_ZNK2cv11_InputArray5emptyEv_ZN2cv3Mat4onesEiii_ZN2cv12GaussianBlurERKNS_11_InputArrayERKNS_12_OutputArrayENS_5Size_IiEEddi_ZN2cv3Mat5zerosEiii_ZN2cv8filter2DERKNS_11_InputArrayERKNS_12_OutputArrayEiS2_NS_6Point_IiEEdi_ZN2cv10warpAffineERKNS_11_InputArrayERKNS_12_OutputArrayES2_NS_5Size_IiEEiiRKNS_7Scalar_IdEE_ZN2cv10meanStdDevERKNS_11_InputArrayERKNS_12_OutputArrayES5_S2__ZN2cv8subtractERKNS_11_InputArrayES2_RKNS_12_OutputArrayES2_i_ZN2cv12countNonZeroERKNS_11_InputArrayE_ZNK2cv3Mat3invEi_ZN2cvmlERKNS_3MatES2__ZN2cvmlEdRKNS_3MatE_ZN2cvmiERKNS_7MatExprERKNS_3MatE_ZN2cv15warpPerspectiveERKNS_11_InputArrayERKNS_12_OutputArrayES2_NS_5Size_IiEEiiRKNS_7Scalar_IdEEasin_ZN2cv9thresholdERKNS_11_InputArrayERKNS_12_OutputArrayEddi_ZN2cv12KalmanFilterC2Ev_ZN2cv12KalmanFilterC1Ev_ZN2cv12KalmanFilter4initEiiii_ZN2cv12KalmanFilterC2Eiiii_ZN2cv12KalmanFilterC1Eiiii_ZN2cv12KalmanFilter7predictERKNS_3MatE_ZN2cv4gemmERKNS_11_InputArrayES2_dS2_dRKNS_12_OutputArrayEi_ZN2cv12KalmanFilter7correctERKNS_3MatE_ZN2cv5solveERKNS_11_InputArrayES2_RKNS_12_OutputArrayEi_ZNK2cv3Mat1tEv_ZN2cvmiERKNS_3MatERKNS_7MatExprE_ZN2cvplERKNS_3MatERKNS_7MatExprE_ZTVN2cv17SparseOpticalFlowE_ZN2cv20checkHardwareSupportEi__aeabi_uidivsqrtf_ZN2cv23buildOpticalFlowPyramidERKNS_11_InputArrayERKNS_12_OutputArrayENS_5Size_IiEEibiib_ZNK2cv12_OutputArray9getMatRefEi_ZN2cv14copyMakeBorderERKNS_11_InputArrayERKNS_12_OutputArrayEiiiiiRKNS_7Scalar_IdEE_ZN2cv3Mat9adjustROIEiiii_ZN2cv7pyrDownERKNS_11_InputArrayERKNS_12_OutputArrayERKNS_5Size_IiEEi_ZNK2cv3Mat9locateROIERNS_5Size_IiEERNS_6Point_IiEE_ZN2cv22SparsePyrLKOpticalFlow6createENS_5Size_IiEEiNS_12TermCriteriaEid_ZNSt6vectorIN2cv4UMatESaIS1_EED2Ev_ZNSt6vectorIN2cv4UMatESaIS1_EED1Ev_ZNSt6vectorIN2cv4UMatESaIS1_EE17_M_default_appendEj_ZN2cv4UMat8copySizeERKS0__ZSt20__throw_length_errorPKc__cxa_begin_catch__cxa_rethrow__cxa_end_catch_ZN2cv3ocl6Device10getDefaultEv_ZNK2cv3ocl6Device4typeEv_ZNK2cv3ocl6Kernel29preferedWorkGroupSizeMultipleEv_ZNK2cv4UMat7reshapeEii_ZN2cv8multiplyERKNS_11_InputArrayES2_RKNS_12_OutputArrayEdi_ZNK2cv3ocl6Device19imagePitchAlignmentEv_ZN2cv4UMatC1ERKS0_RKNS_5RangeES5__ZNK2cv4UMat9convertToERKNS_12_OutputArrayEidd_ZN2cv3ocl7Image2D14canCreateAliasERKNS_4UMatE_ZN2cv3ocl7Image2DC1ERKNS_4UMatEbb_ZN2cv3ocl6Kernel3setEiRKNS0_7Image2DE_ZN2cv3ocl7Image2DD1Ev_ZNK2cv3Mat11checkVectorEiib_ZNK2cv12_OutputArray6neededEv_ZNK2cv11_InputArray12getMatVectorERSt6vectorINS_3MatESaIS2_EE_ZNK2cv12_OutputArray7releaseEv_ZN2cv3ocl7Image2D17isFormatSupportedEiib_ZNK2cv3ocl6Device12imageSupportEv_ZNK2cv11_InputArray12isContinuousEi_ZNK2cv11_InputArray5totalEi_ZNSt6vectorIhSaIhEE17_M_default_appendEjmemmove_ZNSt6vectorIiSaIiEE17_M_default_appendEj__aeabi_uidivmod_ZN2cv8cvtColorERKNS_11_InputArrayERKNS_12_OutputArrayEii_ZN2cv6resizeERKNS_11_InputArrayERKNS_12_OutputArrayENS_5Size_IiEEddi_ZNK2cv3Mat7reshapeEii_ZN2cv12boundingRectERKNS_11_InputArrayE_ZTSN2cv17SparseOpticalFlowE_ZTIN2cv17SparseOpticalFlowE_ZTSN2cv22SparsePyrLKOpticalFlowE_ZTIN2cv22SparsePyrLKOpticalFlowE__aeabi_unwind_cpp_pr1_ZTVN2cv16DenseOpticalFlowE_ZN2cv4UMataSERKS0_exp_ZNK2cv3Mat7reshapeEiiPKi_ZN2cv20FarnebackOpticalFlow6createEidbiiidi_ZN2cv4swapERNS_4UMatES1__ZN2cv17getGaussianKernelEidi_ZSt17__throw_bad_allocv_ZNSt6vectorIN2cv4UMatESaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT__ZNSt6vectorIN2cv4UMatESaIS1_EE12emplace_backIJS1_EEEvDpOT__ZN2cv5mergeERKNS_11_InputArrayERKNS_12_OutputArrayE_ZTSN2cv16DenseOpticalFlowE_ZTIN2cv16DenseOpticalFlowE_ZTSN2cv20FarnebackOpticalFlowE_ZTIN2cv20FarnebackOpticalFlowEhypot_ZN2cv3MatC2ERKS0__ZN2cv3MatC1ERKS0__ZN2cv3Mat7releaseEv_ZN2cv3MataSERKS0__ZN2cv3MatC2ERKS0_RKNS_5Rect_IiEE_ZN2cv5remapERKNS_11_InputArrayERKNS_12_OutputArrayES2_S2_iiRKNS_7Scalar_IdEE_ZN2cv10medianBlurERKNS_11_InputArrayERKNS_12_OutputArrayEi_ZN2cv4UMat7releaseEv_ZN2cv22createOptFlow_DualTVL1Ev_ZN2cv19DualTVL1OpticalFlow6createEdddiidiiddib_ZNSt6vectorIN2cv4UMatESaIS1_EE17_M_realloc_insertIJRKS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT__ZNSt20__uninitialized_copyILb0EE13__uninit_copyIPKN2cv4UMatEPS3_EET0_T_S8_S7__ZN2cv5mergeEPKNS_3MatEjRKNS_12_OutputArrayE_ZN2cv5splitERKNS_3MatEPS0__ZNSt8ios_base4InitC1Ev__aeabi_atexit_ZNSt8ios_base4InitD1Ev_ZTSN2cv19DualTVL1OpticalFlowE_ZTIN2cv19DualTVL1OpticalFlowElibopencv_imgproc.so.3.3libdl.so.2libpthread.so.0librt.so.1libopencv_core.so.3.3libstdc++.so.6libm.so.6libgcc_s.so.1libc.so.6libopencv_video.so.3.3GCC_3.5GLIBC_2.27GLIBC_2.29GLIBC_2.4CXXABI_1.3.8CXXABI_1.3.9CXXABI_1.3CXXABI_ARM_1.3.3GLIBCXX_3.4/home/hisilicon/OpenCV3.3/build/lib::::::::   {" U&y "q"@ " "ii "" ii "b"xѯ "yѯ "ӯk"I"t)#HH H(H,H0H4H8H$Q?(Q@,QA0QB4QC8QDP 0S 0[/BPR[o P0 Q0 B  B0Q0P 0S 0[/BPR[P tP0 Q0 Bژ  B0tQʜ0P \0S 0[/BPR[1 <P0H Q\0 B`  B0<Qdh0P 0000r5pb/FNmp8xH4p@-0@01D1,TSP 0[/BPR[ P0f/Q1 Bڰ! B0Qʴn?P 3t1S 0[/BPR[ TP0.Qt1 Bx! B0TQ|=P <1S 0[/BPR[ P0J/Q<1 B@! B0QDR?P 1S 0[/BPR[ P0 Q1 B! B0Q >P 0S 0[/BPR[l P0 Q0 B  B0Q0P 0S 0[/BPR[M tP0 Q0 Bژ  B0tQʜ0P \0S 0[/BPR[. <P0H Q\0 B`  B0<Qdh0P gt0000pb2FQpp|8ylxp@-P@dT` x4 0Rh4001!1S 0[/BPR[ P0f/Q1 Bڰ! B0Qʴn?P t1S 0[/BPR[ TP0.Qt1 Bx! B0TQ|=P <1S 0[/BPR[ P0J/Q<1 B@! B0QDR?P 1S 0[/BPR[ P0 Q1 B! B0Q >P 0S 0[/BPR[o P0 Q0 B  B0Q0P 0S 0[/BPR[D tP0 Q0 Bژ  B0tQʜ0P h\0S 0[/BPR[% <P0H Q\0 B`  B0<Qdh0P F0000zr0p@0/pd8a^m[X#FUBbR2/$xC-M@`PB00 080 E`?00 0`\80 00,`0 03/P 0S  _ 00 000 070  `0 03/P 0Sm  < 00 000 0@70 `0 03/P 0S*  00 000 06000 `n0 03/P 0S  Z 00 0 00 0_(600 0 `H0$p 03/P 0S   00 0 00 0850 0 0s` 0%p 03/P 0SR   00 000 0400 0J`0 03/P 0S  00 0Ѝ00 0Pğ墄Lt p  0(40  00 0ß墔ԃ   030  00 0`ß墔\   0830  B00 0Ÿ墄r p  020  la00 0bpŸ墄lr p  0H20  K@00 0A墄q p  010  *p00 0 墄|q p  0X10  ,630-*'$! XXD4,x$|p$0@-S@ 0[/Bσ\R[ P0 Q$0 B(  B0Q,00P O-@-pP@M00P $0*b S br/1!.p+r;!t v 0[/ P[0S, 1   1R!@R  }0@< 8`Q  @0St 0  0!1!1!1!1t0pSx0Sc 0  @0娠Sʰ0S_ 0  @0S0S[ 0  @1FS 1SW 0 @T1. SX1SR 0 @1boSʐ1SN 0 @, 4 A0!1!1!1!1  0`!d1h!l1p!t1x!|1  0@!D1H!L1P!T1X!\1v 0 !$1(!,10!418!<1i 0!1! 1!1!1\ 0..//S1@~?0A0 000P $0 b S~  b, "/2 $"(, 0[/ P[0S, $2  000 S R'  0S0: N011'ßSGb P 030  ` 1z 1800<0$0 P0%0HT0 1 X0`1\07(1`00d00I h00l0 + I {Z+P I {J @D@@X ɚ`pR0t0  0x|0{ @@C400V,H000XD40@0 P 0!0ӀR,0800 0 0 000,0Ql \(h`X@ $dL@0 0 ` 0040L 1D0 R 0, #O08 P:40 CZ0%`pj`zgzj`j`zwFjjzgfjvzjzfjz6z犴`PV `Vb0` 0^ <`V zpI`\ᐊfjzz6z P?$ֿw@RUk4P0SPP0 `0``p$0p@ 0R 0@ S (0D 0R x0D S 0H R p0H S $2X"0 ,哑) X0 0T0 0 0  L 0@ D(Q (  $ 0 $  4 4 I! ,,P"2S 0[/BPR[I !0P2R "  B0Q$?P 1S 0[/BPR[$ !0P1R!t v B0Q>P 0Sߍ <0 0 BP00S 00s00p0H Sk]tf 0 0 BS 00s00x0D SLF|(0F@$07 0  0 0 BS 00s000SP0PPS 80p0  P \ zI`gz吊Z\fjFjz%z@z zjhz'jz`j`\jzjzz&zhzgzZ0\0 0P   ~zHߍ0S~0 S{ 0SxLD0\80S0SH0S|0Tp0S0S0S0T0S0S0S0T0S0S0S$1T1S0S(1S\1TP1S0S`1S1T1S0S1S 0101+  0S wTO-p-rPc`M ?@P2+;pH8000000U*KJ/ N@X0F\0h0}_l0K`hd*J  Lx0000*Lb @0000f*L A111 1d{*HQ B.81<1H1L1@!R/D!V/*I Nx!-|!.p1t111*J @nP]111111 000!0Ӵd{: 00?$Az( $00'8%0, P 0H4P 000 P@ @[/ Q[[/Bσ\R[ Ѝ BC\\D(x 00Q@T <0 0RL0001l1S 0[/BPR[bPf/0Q1 B! B0Qʴn?P [t1S 0[/BPR[zTP.0Qt1 Bx! B0TQ|=P 7<1S 0[/BPR[FVPJ/0Q<1 B@! B0QDR?P 1S 0[/BPR[2P 0Q1 B! B0Q >P 0S 0[/BPR[P 0Q0 B  B0Q0P 0S 0[/BPR[ptP 0Q0 B  B0tQʜ0P \0S 0[/BPR[8<PH 0Q\0 B`  B0<Qdh0P P4000r7 03/Ѝ1/2/ W t rpnlj h4000r{A-P-T% P`$0S 0[/BPR[!  0$`R㏊(0 0C` Q,00P 8@(WpW &8@WFO-P-`(4p0M( p L0P @ @ AD00@ x$ e +";e ffP00x0H S㊠$|`n [pP  XRT00QM Rp [ x0  R 010SJ S "@2 ( 0PT0S 0[/BPR[ t 0P0R  " B0tQʜ 0P z,0ScЍ 0 2+0 0 |00@$D00 1@T@@00 2@P00 800o0@4`T% PP$0S 0[/BPR[  0$PR㏊( 0 BP0Q,00P 8@&T0`V $8@VF6vzЍ:{BL ,0S d#P/P/T/T/X / X /V /V /Y / Y /Z / Z /[ / [ /\ / \ /] / ] /x/y/y/_ / _ //@-@q$0$ 0@-@000ܵ<000 0@-@000DV訵<1p@-0@01{RQEsqoml0TQSP 0[/BPR[A LP0X Ql0 Bp  B0LQtx0P ^40S 0[/BPR[" P0 Q40 B8  B0Q<@0P LP0X Ql0 Bp  B0LQtx0P 40S 0[/BPR[ P0 Q40 B8  B0Q<@0P 80000pHLdxp@-P@aT`d 1 0Ri1001R9Q7El0S 0[/BPR[G LP0X Ql0 Bp  B0LQtx0P }40S 0[/BPR[" P0 Q40 B8  B0Q<@0P [`0000b0p@0/yHv2/TpxC-MP`#@` p 000P P Q X 000Ÿ3  0 0!0"2 0" 0\"P1 04" T1 0 "`1 0؀! X\i 0! d1^ 0! h1S 0h! l1zH 0@! p1o= 0!t1 d ;0 0 0x1W .0Ss0S00Ө y1 F q0|1ЍQ[k`BX?R8D@$`x8thC-M@`Pw00 0:>0 z`'t00 0`%|>0 00a`0 03/P 0S P!  00 0 00 0=0 00<`0 03/P 0S T! o 00 000 0X=00 0`0 03/P 0S X  00 0 00 0<0 `0 03/P 0SG V  00 000 00<00 0`u0 03/P 0S Y a 00 000 0f;0 00`O0 03/P 0S Z ; 00 000 0@;0 00~`+0 03/P 0Sr [  00 000 0t:0 00Z`0 03/P 0S- \  00 000 0ɟ   0 1`0 03/P 0S ]  00 0 00 0H900 0 `0xq 03/P 0S  = 00 0 00 080 0 0`0yq 03/P 0SR   00 000 0800 0`g0 03/P 0S _ S 00 0Ѝ00 0Vpǟ墄lw p  0H70  ?400 05Ɵ墔   060  00 0Ɵ墔|   0X60  B00 0Ɵ墄v p  050  00 0ş墄u p  0h50  00 0ş墄u p  040  k00 0ğ墄t p  0x40  yn&00 0o(ğ墄$t p  040  XM00 0Nß墄s p  030 7,00 0-8ß墄4s p  030   Q00 0 Ÿ墄r p  020  00 0HŸ墄Dr p  0 20  ~lTpL@D8|<0t4(l, d$O--0 M M , !$  8 BP.p<0X,0zg9L80 `$ bD!@PHX@ . ! `P!4 ! nD  Rm `pF0 AQK) L^?oQ !20S   ! (!,Q_ L@0 )!@D0H  0 #L11$1S 0[/BPR[m !0P$1R(!  B0Q,P 0S 0[/BPR[ 0P0R   B0Q(`P ,0Q  ,0  !\  L0C40l0 0 %J0d0$0p0h80d 0Sd (0 ,0 `\P 4 Z   Ex  E| V.T 8 J0 00P04z\ 0Djj'SZ0L:zj:s*zT0:z#:bj6zjzwzz,0 zzzP0'zeGz0P0,0 z'zez 0000Dzz(0P Zu0C(0  S 40   0 0 000 0z ziz%z(0S ( \0!zzgR\,0zz=P@d0(TC00, @0S+ X: J:&\0 L`}Z_h4pzP 0ZGjjzS'jz@z jzcjZuJJ@X0l 40d0l pS,0h L0 h 0 \!\  0p0'0P( Zu00S 40j   0 0 000 01z ziz}ʀz0LT@zjSzwzz8zT0jvJzjDzz SEz7,0 j z0ZFZFZNEzgZNSZ zUjJ  0Aqx10<0|0@00B@01`tP< CzPWP $P U  RP@  zG ` P *eR h*H EH `X  P$`!QVzzX PV!Qzz`  !PP Z$ z@DD Np0z8 0` C,0tPJ\04 ` zPzPR `Z,0`tPJ\j0zjz\&zzz'zczgj'zZ,0A0P0( 0S0PBP00(0S\0  0L@   1ST1$#3PQ  b CQH0 S L 0$@ 1T ڨ0 X0 T1 ڬ0` 00 0, U,00w(0z.BC\0AzznJ4 `E.EDp   1z CPᐺXPz $P  U  PzR z Iz? @P*d[ e*E DHP U @$A[zPzPXP@[AzPzP` !P@P@V , Nz0@z8 zJ`F4 P z@z@RV 0 S0 0081L0-,0圀 0000,0J, zzd 0B0Uzzzg* ^, 0 8#L0hR= SS7ލЍ@D00 y   000 !  }Ϡ, b W 1!,~ <X, z L g9 LލЍ  ZX80PP n 0 L1C-0-` S RPM@L1@hp' P!0hpS0: 0h0l0ß  030 0  0 0008  H9[z00 ` \zQOzGj^gjNzwzj  0 E/  0    0    0    0 A w {0 z0 ɛ0 ]z `(ȋ0 V {z0.|0Y/w0 r0 m0Z/h0_/cx1S P0(0  ,P 0@w Ѝ^/ 0?Nc  G,tdA-0`M@0pc `0``P  +0`E/`0Ro  0    0    0   0.GOd  0 0e@`Ѝ p@-!x@1P0^0CP?oMT 2t`hQOX0P0 00oЍp$h똅 dTx1S Q/@-Q_xM@_`P ЍQ/TP @` `JhhPEo Pp 0D0 0< p`5*'b\\DO-P-@0`,@M00jL1S Z ~Z0~ qC0T! RL1((0 ,0Οᐮ  0|>0 P P00T1 P0S 0P TpPPL0HpSP0Sf 0X X\ 0**++0Sr P  P3 0 0 0p бC0T! RL1hph0l0̟  0<0 P xP 0S00T1 P 0S0[ 0 㔰@PL0HpSP0ST0\ 0 . 0@!D1H!L1P!T1X!\1PU $0 b Sp r br/!.1t v! 0[/ P[0S, 1  #~0 ` kP# $0 b S~  b, "/2 $"(, 0[/ P[0S~, ~_$2  L10L1 S R P!0S0: ]z1^!'΍ 1[j)T\z`H` h V+h+ 8R君!<"!X;@"/\7B|jXlD{&j7jȋz{fz^Qzz'0ASI!!Q0"*cS ` P QH d$ b;  Q  Q   Q  Œ: `0bO2S 0[/BPR[  !0P2R "  B0Q$?P J1S 0[/BPR[ !0P1R!t v B0Q>P (0S>ߍ0S- s7凑 R 0B?o2 0, T! 0  d  0% QP PT1  ~_ Mߍ00242Ɵfa ` 050 \  # 02R 42R 0SL5勑 R 0B?o20T! `$ 0  0  zQP6 PT1 H  >P 0ST Q01 O~_01T0 SH0S0SX0S0W{0S0Sw 0S|s ~0  >PT1L RR 儠Rʌ0^ 0 0 04[ 0  !$1L(!,10!418!<1> 042#~  崠0TRʼ0Pu 8 08  <0 0 !1L! 1!1!1< 042c  [ 0䠄TR0PT @ 0@  Dp 0 .L.//0 042;  d1ES1P 0HH 0 LM 0 ,L,--0 042  A 1\1S0S,1S0\0S0S0S~0\0S0 S0S0\E0S0SA0SG=0S0S 0SH0S0SX0S |ȃ$x<dԠР(pdGPT1 R 儠Rʌ0^ 0 p ptd 0#~L 0"428"<2@"D2H"L2q ~ 崠0TRʼ0P x 0x  |: 0 !1L!1!1!1> 042m  0䠄 ST0R0Pg 0  0 !1L!1!1!1= 042@  i1ES1P 0 0 b 0 `!d1Lh!l1p!t1x!|1> 042  BU 1\1S0S,1S0 SS0S0SO0SUK0\r0S0Sn0Stj0\0S0 S0S a0S `0bMt r PMI F O-p-bP c`M -@P " 䀄EQℰ 0+ ; 0 0@ 00 40@0D0h0l0x0|08P< x pt +;    K000000 N000000 C/ H00011 1G!O/ J$1(1,101@1<1H048!0R U }_01ބ1B K L 0L10x!2D, p1L-C?4Ȋt!PQ TX Zy!|1V  0 00倀 0 P@ @[/ Q[[/Bσ\R[ Ѝ Bfff?ApA@Lpk@Tthx 00Qs@Ti <0 0RlL0001YRQEQOMKl0S 0[/BPR[HLPX 0Ql0 Bp  B0LQtx0P <40S 0[/BPR[[P 0Q40 B8  B0Q<@0P 1000Lb 03/Ѝ1/n2/    HT2000#b 3O-tM#0p@8PP 0 S0  h`X\hl@+; d``~T@0S  SJDj ZQG dSH0#DT1Q 6t0X0#00Rfz gz:SdH!0fJzZz7XjJjDzJ ^jjjΦzg'zfꎱJZ%z7zz@0\u\0S 0[/BPR[ < 0P\0R`   B0<QdP 2 0StЍtЍU/ 0S FB4jlx3O-|Mp#0@@P Pp `pGP 0 S0  b`dptH+;b cclh  TH R  a*L0: *SUPt0X 0(# Qxj훡#!X:0fjfZfz P 0 zJ'z7JZ:ZjjZzzz΃Zej&ރjfޥZgΆj'ΦjgeZ:SsSFj:Ss S fj:Ss0S00lP`X,P p  0L0T!SH Xd0S 0[/BPR[! D 0Pd0Rh   B0DQl 0P T0S|ЍCjCjCZ|ЍsM0S dB4`gHP3O-MH#00@,`P$ P吀(`peP 0 <S08 8 dh+;d eeጀ@Tah  R p Ql0p S KCJt` j Z  X00000  0   ^z0"   Rfzჱ PXjPzZfJJz7jDzJP P\8j0jjΦzg'zf^z 00S0S 0[/BPR[& d 0P0R   B0dQʌ(0P 40S Ѝ茱JZ%z7z%zڽ,Ѝ  v40S , B4cp3O-Mx#08P,h@0 $@嘀4`pP 0 DS0@ @ dp+ ;e efᔀH0Tp R a'R 0\B* 0t嘌,:X@ * (  @ 00 `0#.0@(0p P`wj!0 X:fjfZfz Q 0 zJ'z7JZ:ZjjZzzz΃Zej&ރjfޥZgΆj'ΦjgWZ ` jjN0 000 [0000$0S 0[/BPR[! l 0P0R   B0lQʔ40P <0SЍCjCjCZ,Ѝ$$<0S ,B4x`` 0p@-0M@  S00PS> 0S 0S, !ЍpgP 0S %P00ЍpPЍpЍp`0 0H < ?040 d 0 :똁~MO-P-`tMP@倀 ύp @P L M0B/x:+<;06 80 1 1 000 000A!嘀p7 P x0 00P, $0 b SR T b.hp!^/l1V Xt!x| 0[/ P[0S/, t1  B$T Rx0 0>0S 0[/BPR[ 0R! B0Ql1h!PR+T;V X/6+8;L1: < ؠw L1A!St^?P!@P0A+;@h1R+T; V X`l1x0 0 W eT 0  RO0H1L1?#3= 0崀 㴀 \# .# 0S R 0S0a0aR ` `SR0 $H2  E J )I{:: dɛ LY%`d@X /?\ bbQcc\Qì0 [d`X00\0 ؠ  R0ᬀ1@, 041RS 0[/BPR[5 !0P41R8!H J B0Q<=P XF JT `\V+ 0GdFz ;z+a{* /R BX `{:0?S0C\0  eJ@Y400 8<  Ed0S 0[/BPR[ B<~({zy 0P0R!: < B0Q0P JT0S ߍOЍ/" [(,  `dQ j hR0l 1@ h0 Rq` d\0RO#0H1L1 8  \  0@ 001 !0  RO x0 00S 0[/BPR[x0 0x0 0|0Sژ 0 B0|QX1\`!P0d1R T) L1 L1p嘀Sl1*h!0>l1> h1x@\ ]0Ad1R T@X1`1`J Wx0@ 0p1AG H@R T1p`8 000rR0L1x0 0ؠ ؠ_ ] |T0S Rx0 0rؠOؠؠGeؠ@ BO--ph1@0yM8Pࠍ XP I J 0x`, .P00+2;0 00`0d0h0l0|0x0Pܠpt`z P PtP, $0 b SH J bJ/@H!.D1L NL!PT 0[/ P[0S , L1  B$I P0S 0[/BPR[ 0R  B0QD1@! PH+J;L N-,+.;$10 2 $1ܠPSL>P +;P0PH+J;@1L ND1` %?  `  R0 C 0S 0CP F  0Q 0E 00 Se 萍   0ᄐ1@" 0j 1S 0[/BPR[ 0P 1R!> @ B0QF?P OH ++ZP00 G.0S 0[/BPR[O 0P0R 0 2 B0Q P "<0Syߍ耐  O @0D 1@ @0 ^ P*h0S 0[/BPR[PPT0Sp 0 B0TQ01t48!P`0<1H Jd& $1 $1t`pSD1@!t0R?D1J?p @1 0<1H J0181` B<-DT!?f@-DT! @C4C`\+^KzJ[L;kz N*$&ki (a{ `{@ J+K8 9(0@˰ ۝ =K+ m$ ;o@ `M@ O@J*@;.J ;c㋴qJk ia{ #+i#k +b{:`{a{*a_S0 F0d _P!<g_R E  ?Q0K?/`FV0 , I``/ PEUP Pȋ! k{zZzzwzJzzzwzzZj*zzwzjjz:jZz%jjjjH1PW XH J0`]gyߍp x0|0+H Fc1O`;M0P$1갰  wJ ;;k+K+K=` Y  <0S *ᰰP갰ⰰ B-DT!?MA-MPX`@@ 0@q00  eP@0( ,0(0  @@`FW@:    80P1@ 0 `{::0 S 0[/BPR[ P00R( *ڸ  B0Qʼ0P B|0S 0[/BPR[ \ P0|0R ڀ  B0\Qʄ0P ЍAЍ/G!;MG-MMP@@ 0@Xh\ao> pHL@&X0 i@@  ( PdXY    0 0RllS0a0a8 SP0$0   H0Lp1@ H0 `{::0 S 0[/BPR[M 0P0R!: < B0QB?P Vzz x 0zz CC zg0z@@S 0[/BPR[ 0P0R , . B0Q0P ZލGЍ/~XVrA-PP-p00`Q0ShMWtp:h 0@  P`p8 < I HH+H;@ I H H+H;L  H I HH+H;P  T\ WX |D v `q dl hg lb8` L @1N DaR F+J "D0! 0 T }KX+S%Z 0 \1\ V?|qD` x10[T+XL  P P n_Xp2 B$Sf+h;0Q11111lAhAN111>t+v;1r?b d1p rA p2吻0+퐱;0an;1f hb+t2SE ! 02DRt"10ύ" " ", "q/22$(,0Qt2~ !0040R80<p r1 1t v$X P \ ] P! +;2~ 2! t2 FS#@0 1@.X0bh0x00\2@l 0 | , $ ( 휰/ H0= L02  0?~ c~? % @ l2H x 0h0X,1S 0[/BPR[  BB@B-C6?ZY$ZUXUDUTX B0Q >P 0S 0[/BPR[ 0P0R . 0 B0Q0P ߍ~11dd  0,,0 @ 130 210 c0 $P@@w D} @  0040 X `U\AP|1!dApPPPT} P  040 X 9.$1!D1),QF B @,> <: 8TQF O-@- p0@M@Px`@@A(,y@ @ 0r@   0j 0h0 0PS V 00040V k"2* 0\  $1 !I 0 0H @@P$`4@  0  0S 0[/BPR[` P00R0 2  B0Q0P 0S 0[/BPR[A | P00R" $ڠ  B0|Qʤ0P ~d0S 0[/BPR[" D P0d0R h  B0DQlp0P \Ѝ0S0 Sbw}z 6SQOkWVHWO-MMP@P`p @0@@@ 0p @0@@0  0 P@` @ 0S- Q0AS9!!Q0"*cR `0P QH d$ b+  Q 0S  0Q00œQRi00 00@0S 0[/BPR[ 0R  B0Q1!P>+@;0B D 0+2;04 6 0 쀍 S$ J?P P0  B+D;1> @1 0 @L /!1! 1!1  {@0 QR  0R 0p2L@ 0@0S 0[/BPR[ 0P0R 4 6 B0QP @0S 0[/BPR[_ 0P0R & ( B0Qʴ0P t0S 0[/BPR[F T 0Pt0Rx   B0TQ|0P <0S 0[/BPR[  0P<0R@   B0QDH0P Mߍ 10F u 0  Bp@-PQ0@00 4`Pp pO-0-M(0Q\(0 @0 pQW`s QA@ᨀ@`ePp0 0( 0@pt@ Ppt 0S 0[/BPR[ 0P0R . 0 B0Q0P ;0UЍ0SЍ[ꨀ000`@ P 0< <0 Q0@MLM 0S@BqPTpx0 D0p "ppp4 0 ڨ狟P0 <0!@,0 p X @ H 8 @08 E(\P0$X0S 0[/BPR[ t 0R  B0tQʜ4,*+,;P. 0)+;0 " 4 0 D S 0PP0  *,0. 00 00 0, 0 /  $w#P1 M,0`@0C 0P00 0 `Pd0  `0d 0 G#R1 [?CPS[` 0P0R . 0 B0Q0P : 0 YPC"s# @! 1  $p<0W0 P,0 0,0D0S 0[/BPR[ Bt 0P0R  " B BIHGH,GH0tQʜ40P Ѝ00Vꨀ000@   00 0  @(0 @0 pC ꨀ000@  08!81 @00 @ p 0@-S@ 0[/BPR[Z |P0 Q0 Bڠ  B0|Qʤ0P id0S 0[/BPR[; DP0P Qd0 Bh  B0DQlp0P G,0S 0[/BPR[ P0 Q,0 B0  B0 Q480P %xO@LIO-SM(h@( 0 pqQ\ h`lPƟPV P 0  016`0( (Q\ h`lşU P 0  015`0( (QP00 h0`l0(ş(U P 0  014`0 0RO 0 Rh0S0S% 70h0l0zTP0`P^   0  0 8$ 0 40]R `0P  0 lh} 0$1@ 0Vh0  :/1S 0[/BPR[_ 0P1R!< > B0Q >0P #0S 0[/BPR[? 0P0R . 0 B0Q00P 0S 0[/BPR[ t 0P0R  " B0tQʜ00P T0S 0[/BPR[ 4 0PT0RX   B04Q\`00P K 0  h剠l 0$1@ 0h0  ;/1S 0[/BPR[ 0P1R!< > B0Q 0P |0S 0[/BPR[  ElDELECtDD,CChD(BC 0P0R . 0 B0Q0P J0S 0[/BPR[] t 0P0R  " B0tQʜ0P (T0S 0[/BPR[> 4 0PT0RX   B04Q\0P  0 h l! 0 $00 1@ 0h0  ;/1S 0[/BPR[ 0P1R!< > B0Q 0P 0S 0[/BPR[ 0P0R . 0 B0Q0P 0S 0[/BPR[ t 0P0R  " B0tQʜ0P T0S 0[/BPR[{ 4 0PT0RX   B04Q\0P aV 0 h l| 0 $00 1@ 0Th0  ;/1S 0[/BPR[? 0P1R!< > B0Q 0P "0S 0[/BPR[  0P0R . 0 B 5466`570Q0P 0S 0[/BPR[ t 0P0R  " B0tQʜ0P T0S 0[/BPR[ 4 0PT0RX   B04Q\0P X _0 0 404@2L 000S 0[/BPR[ l 0P0R   B0lQʔ嘀P |0 _  0 0404@2L 000S 0[/BPR[r l 0P0R   B0lQʔP GSߍ0h0l04 `S P 0@3 0 `0h0l0`S P 0  003`0v22/#,Bp)a&# p$VPp p:O-P-(p`EMM(刄匴 Q\ 7NpÍ傠tÍƟ娖  06 8 0sh( (Q\ 7NpÍ僠tÍ_Ɵ  05 8 0LA( (QP00 7Np3儠t38ş刕  0h5 8 0% 0R 0 0R0S0S097Np3加t3 ğ  04 08 0@ @ ȊH  ɚ)I 7N p`0P 40 0h+; 0 8:/ 4S 0[/BPR[ #P0 4R/ B$ B0QA P 3S 0[/BPR[ #0P3R#  B0Q>>00P 3S 0[/BPR[ |#0P3R#  B0|Qʤ?,0P a,3S 0[/BPR[s #0P,3R0#  B0 Q4?(0P >2S 0[/BPR[S "0P2R"  B0Q<$0P 2S 0[/BPR[3 "0P2R"  B0Q? 0P L2S 0[/BPR[  B42h3L4223t102P30|1,"0PL2RP"  B0,QT?0P 2S 0[/BPR[ !0P2R"  B0Q">0P 1S 0[/BPR[ !0P1R!r t B0Qz?0P }l1S 0[/BPR[e L!0Pl1Rp!V X B0LQt^?P [41S 0[/BPR[F !0P41R8!H J B0Q<=P 90S 0[/BPR[' 0P0R!: < B0QB?P I  H  pP p0 *+,; `0& (<6/ 4S 0[/BPR[ #P0 4R/ B$ B0Q P 3S 0[/BPR[ #0P3R#  B0Q00P 3S 0[/BPR[ |#0P3R#  B0|Qʤ,0P ,3S 0[/BPR[ #0P,3R0#  B0 Q4(0P k2S 0[/BPR[h "0P2R"  B0Q$0P I2S 0[/BPR[I "0P2R"  B0Q 0P 'L2S 0[/BPR[* ,"0PL2RP"  B  B0,QT0P 2S 0[/BPR[ !0P2R"  B0Q0P ۿ1S 0[/BPR[ !0P1R!r t B0Q0P @` T _0   tÍpÍ40  D00 1@@0媿P`Tp  01@P0  p0  00P b5S 0[/BPR[% %P05RY. B% B0Qʬ[>0P ?l5S 0[/BPR[ L%0Pl5RU. Bp% B0LQtW>00P 4S 0[/BPR[ $0P4RN. B% B0Q<0T0P 4S 0[/BPR[ $P04RK. B$ B0QM>P0P Һ4S 0[/BPR[ l$0P4RG. B$ B0lQ B| T|0I>0L0P 4S 0[/BPR[R #0P4R+ B $ B0Q$B>0@0P z3S 0[/BPR[0 #0P3R#  B0Q?><0P W3S 0[/BPR[ #0P3R#  B0Qʴ?80P 4<3S 0[/BPR[ #0P<3R@#  B0QDү P 3S 0[/BPR[ "0P3R#  B0Q 1 P 2S 0[/BPR[w "0P2R"  B0Q?,0P ͹   9 b ᤺ 0 ! 0 c $0Q@P.F?+;0 (@! D 08<HLF+H;P 1S 0[/BPR[Q !0P1R!  B0Q80P ʶ,40  DFd @ Í`č @@ō堷P 0 F +;K℃+;@Í K@`č D(ÍÍhčlčHōLōd@dnFd(0 De  Í @Í`č@@ōUp  H0Il H} 0 $30 1@3U@0  :/5S 0[/BPR[ %0P5R- B% B0Q0P "5S 0[/BPR[ %P05RY. B% B0Qʬ0P l5S 0[/BPR[o L%0Pl5RU. Bp% B0LQt0P ݵ4S 0[/BPR[P d$P04RG. B$ B 0dQBI>(0P   _ 0l 팀崀ͷ 0 30 1@3奵@0  9/5S 0[/BPR[  %0P5R- B% B0Q0P r5S 0[/BPR[ %P05RY. B% B0Qʬ0P Pl5S 0[/BPR[ L%0Pl5RU. Bp% B0LQt0P -4S 0[/BPR[ d$P04RG. B$ B0dQʌ(0P $0 D0  01@00`  , X001@0 ߵ@P __0-2 H2 /220"+; 9/5S 0[/BPR[ %0P5R- B% B0Q0P 5S 0[/BPR[~ %P05RY. B% B0Qʬ0P l5S 0[/BPR[_ L%0Pl5RU. Bp% B0LQt0P l4S 0[/BPR[@ $0P4RN. B% B0QT0P I4S 0[/BPR[! $P04RK. B$ B0QP0P '4S 0[/BPR[ l$0P4RG. B$ B0lQʔL0P 4S 0[/BPR[ #0P4R+ B $ B0Q$@0P 3S 0[/BPR[ #0P3R#  B0Q<0P 3S 0[/BPR[ #0P3R#  B0Qʴ80P 뀐  I0Jl I ༀ嶵 0 30 1@3厳@0  p ` 0 X 00P3p0রᛰDٱ6ֱ=[ұ ϱ ˱ȱ  ű,±K⿱l ⼱⹱[⵱M ⲱm ⮱᫱[⧱ ⤱ ⠱-᝱M.⚱e◱[⓱ ␱ ⌱≱= ↱]⃱|‱.} yMu8JrZFnyk heb [^ [4X[T] Q} MMIJFFB? <89W6D3,0[,  )) %J"j[  E| $ ,*ữ=ծ ӮѮ$Ϯ,ͮDˮ4ɮ4î'%# !ׯ 差Ꮿʯጯǯቯį ᝮ p뫯ጮ \뗯Y딯00Cn,fO-@-p`*M M0Z夯P+ύ $0*bS b +;"/2 " 0[/ P[0S, 2  xPt?($ *` R ` +C;# 3 ÍÍ [ς\[ R, .>0 3  LPO2ύh $0*bS b +;@8#/<3 D#HL 0[/ P[0S, D3  2S- Q0AS!!Q0"*cR ` P RHId `; Q  Q Q  ŒQSN@Ꭾ"E2 0p ~s2S- Q=0AS!!Q0"*cR ` P RHId `; Q  Q Q  ŒQSN@K!F1 0p ;0(3S- Q0A@Sd!!Q0"*cR ` P RHId `; ^  R Q  ŒQS0 S00``0000㐮[P1 $0 bS @ b. 9 B.).  )  0[/ P[0S, N9@  N@ d<3S 0[/BPR[ #0PRh  @# B0Qʚ>D0h*c>0 cP9)*A<38# 9 9h Ds @#S90 H#0L3.+; P*B. 09 B9剬0 ۬ 0h  `6/2"S0R R) N.@099VPc` p`\  0Uß3 `0 p `p9.2S0SS3S0S' N7@099%b`0p`\  0 [1 L" 0p 420$3S N @099a]q 1`0 p pݬ 30CSQ0Sc 3Sq  :00>0ۿۓRL101oP>Fr<+=; pÍtÍÍ(@͝D00+F;|C@ xcxHR袝刬P +!;B/0*N Í ÍÍÍÍύQÍ AoPH+;FO0  D B\pP+H;(Q Íq胍ÍÍÍÍFP+; č0čč(č,čB΍*N Qq$č-W`0GSw'!T@ 0"`&`*CR0W : Wzz0W*zz:zzU0ESS%!T@ 0"`&`*CR0U : Uzz0U*zz:zzHN#= 0@0  0@ȍ@ɍFȍV0 ȍ ɍ @ȍ@ɍBt3S 0[/BPR[ T#0Pt3Rx#  B0TQʬ3S 0[/BPR[ #0P3R  # B0QC΍PC,+-;Jo0+L; FXč F΍ Q\č$qPčTč`čdčbFP+; č0ččččI΍*NH (Q BB,qč;JP +_ ;_NNo0  F+N;( č04ččččMP(+_';_ ō0ččō ō̍*N 8Q\0 M΍$02@0 9R 0`C\` i<h0i 0D @ȍA @ɍ0 Ԫ _.P _>+; (& `+B; ƍ 0ƍƍ ƍ$ƍ6/R 0Ც bP+;0Pƍe΍p ` H0LX\*NTƍ 6/f`-PFd+e; 0+F;HQ ƍƍƍƍi΍Lqfƍyj΍P i>0J KVd0*Lƍƍ Hƍ0ƍ͍ @ PQj΍Tqƍ[~oⅮ?0\0.ȍ@ȍ @ȍ;Lɍ 00i LD;`+t y 5?B|ȍ0\.00p@+> 0ȍ0` x @㬩;ȍ+ 1_LɍDt0 |`΍8 01@8  0 `6/x0p`΍ 8 01@8  0 `6/m>00`^P n΍ l _k_ *Lm΍0 LƍƍǍǍ̍\ m΍XQƍ妨͍0P  __^o40 F*L0ǍǍǍǍ͍ @Ǎz΍pǍtR{>P ͍ __P0*L 0ǍǍ~ǍǍ{΍ @xǍ|7~>΍0P  bL0-0*Lȍ ȍȍȍ΍ @ȍ΍‑ȍ?P ΍l m*L <0 N0@ȍDȍPȍTȍ΍x(Hȍ΍Lȍ,΍P ⒯N O0*L  Ntxȍ|ȍȍȍ΍ȍ"͍HȍLP ΍?4 5$0*L΍ D L0ȍȍȍȍ΍hRȍ#͍lrȍǧ0S_ ` } ۴YPQ@0f.2L` @001LX0Q> 0C>00T0K B ض0$ S5\"@".hR΍X `hp   lc 0  @ ̘ `΍`΍`'͍`h ]΍.hRX 0 2@ 2 |0`  @`΍l2`΍`0`'͍ 2 0 `̘6΍.hRX 0 2@ 2 p0`  @`΍l2`΍d0`'͍ 2 0 `̘8΍hRX 02@ 2 l0`  @`΍l2`΍ 0`'͍ 2 0 `̘@΍ ΍o <0$ "R ̨Y ڥH@0R 华훎Ș $   ̸Y嬙¥X 0<R @ ̈ ȍY 04<$S08喧 0  8/D:S 0[/BPR[ $*P0D:R. BH* B0$QL >,0P :S 0[/BPR[ )0P :R. B* B0Q >0(0P p9S 0[/BPR[f )P09R'- B) B0Q 垞 P NX H0$ R@  Y 嬉ȍR>Yᬉ  @ ˱^ J 0Y9>  @ O J0S cYQ00h 0 0 뀀0 e  08  8/D:S 0[/BPR[ $*P0D:R. BH* B0$QL ,0P Τ :S 0[/BPR[ )0P :R. B* B0Q (0P 9S 0[/BPR[ )P09R'- B) B0Q P 0Y9>  l /G@ ˀ:1Q0S099dx|  p 0 2090SH04 P 4 8埤 0L  8/D:S 0[/BPR[e $*P0D:R. BH* B0$QL ,0P % :S 0[/BPR[F )0P :R. B* B0Q (0P 9S 0[/BPR[' )P09R'- B) B0Q P L>Y4嬉( p>YᬉP @8g@:R x ' 0D  8/D:S 0[/BPR[ $*P0D:R. BH* B0$QL ,0P :S 0[/BPR[ )0P :R. B* B0Q (0P u9S 0[/BPR[ )P09R'- B) B0Q P Td9S 0[/BPR[T D)P0d9R. Bh) B0DQl >P 2,9S 0[/BPR[5 )0P,9R. B0) B0 Q4 >0P 8S 0[/BPR[ (P08R. B( B0Q <P xD0 Q 84 0t  8/D:S 0[/BPR[ $*P0D:R. BH* B0$QL ,0P :S 0[/BPR[ )0P :R. B* B0Q (0P 9S 0[/BPR[ )P09R'- B) B0Q P v3S0S% >022a|0 \  0@Ο@> ఀ0 ⼀D9X8S0S$ :02 27}p0p\  00- 0=00S 3S`8S# zo(011,}p p\  0,<  0d8S ro011̟| p 0<0  ϢĢ39 X89{ 0(cShx9jzz&z7zzzwzT0 0T0R1K<˻ͻ,L00 0000h 0 0 & SQ00 11匣X˟  <+ 00  0;0xmh&6R j011jʟ  0 0*0:  0SHl&6S 011ETʟ  0 0,*0 : 0/$6S0Sf?0+ 70011ȉ@000@\  00 @㐀 d)0 T9 0l0 L 0C0唁.H02L `89S 0[/BPR[ 9P S>0 C)0 B0Q >0P ˠ 00툁0.d90 2L9٢8S 0[/BPR[ 8PS>0 C(0 B0Q>0P SzzZzwjjzzzZZuZZ%j6jjjvjj&z7zzzwz099f &6 0p YN˰M RdS`8Sa n(011Exvp p\  0<&<6  0+ <΍.hRX 0 2@ 2 |0`  @`΍l2`΍`0`'͍ 2 0 `̘ۡ΍.hRX 0 2@ 2 p0`  @`΍l2`΍d0`'͍ 2 0 `̘崡8΍hRX 02@ 2 l0`  @`΍l2`΍ 0`'͍ 2 0 `̘卡SzzJzwZZjzjzzJtzJJ$Z5ZZZuZZ%j6jjjvjj&z7zzzwz0`C011兡 x#x3 0 xm 3S`8S n(011hsp p\  0 "2  0NC_no11DŸr p 0t2 0 /$dm11%(Ÿ$r p 0 0010ASO 萍  Ȋ 8zzzw Xjz{zjvz{jgzzzz2RuS`8S vo(011ޠqp p\  0 0  0ğṟPܭ4tL جl ܪ(xLܪlD\xТ\  ȡПH`@\ȘL˿C>0D喞t唞x咞L吞7S 0[/BPR[ 'P07R- B' B0Q0P b4ld7S 0[/BPR[[ D'P0d7Ru. Bh' B0DQl0P >H6S 0[/BPR[4 &P06Rn. B& B0Q0P 6S 0[/BPR[ &0P6Rj. B& B0Q0P 6S 0[/BPR[ d&0P6R  & B0dQʸ0(0P ӝpݝ6S 0[/BPR[ %0P6R  & B0Qʠ0(0P 5S 0[/BPR[ %0P5R  % B0Q0P 5S 0[/BPR[ %0P5R  % B0Qʬ0(0P fp45S 0[/BPR[b %0P45R  8% B0Qʴ0<(0P @J4S 0[/BPR[F $0P4R  $ B0Qʤ0(0P H$" hL *ݍ Ѝ/+:($G!g%  X 0 Nn5΍02@ 090 0Cl09֜= 00L? 0E.> 0>? h07N@ᐝ,(^08 0p 〝u0SNd@{t(ax8 0p k`N@g(g8 0p WLz)D3>09@#>9N @K)V 9 0p ;02" 3$#$2"02EN@')Y9 0p  8N0@9+NC1@f0L5 $h03=C02 0C,d)0&8#0CPu\lf@|  "00h0 0 %0 b굛곛.hƛě›ޜ忛彛廛幛C>0崛D寛t孛x嫛L婛P姛4奛8壛塛0埛d坛`四p噛|嗛啛l哛呛 叛卛\勛H剛gda^[XURC>0J>\0C>0J>\0C>0J>\0Q> 0C>09Uf>`0Q> 0C>00CQ> 0HC>0_>|0Q> 0C>0p_>|08Q> 0C>0_>|0Q> 0C>0J>\0Q> 0C>0Q> 0C>0J>\0Q> 0C>0IFC5>0K5>0=0D85ݛ2FCԛ@ћ=Λ:˛7ț4ś1›.f>`0Q> 0C>0/f>`0Q> 0C>0&f>`0Q> 0C>0f>`0Q> 0C>0ᣛ៛5>0ᒛᏛ_>|0f>`0Q> 0C>0f>`0Q> 0C>0f>`0Q> 0C>0f>`0Q> 0C>0f>`0Q> 0C>0f>`0Q> 0C>0P+;0@-8Hp P*B@ B ( 0 , $ 0 4 *L A@X `h\ dh l *N ExP PP PF_ *DJO L ΀*A N b!!!!*Ef_ DN8!@ARO 0岒H0#. 0P H`80 0 0(,*<@ (A 8H @,(΄ LL ퟑ 0 <嶟L @,8H @(L 햑= 0( 0 9/1S 0[/BPR[ !P01Rl n! B0QP 61S 0[/BPR[ l!P01R^ `ڐ! B0lQʔ 0P T1S 0[/BPR[ 4!P0T1RP RX! B04Q\0P  1> ~(0  9/1S 0[/BPR[ !P01Rl n! B0QP 1S 0[/BPR[o l!P01R^ `ڐ! B0lQʔ 0P T1S 0[/BPR[P 4!P0T1RP RX! B04Q\0P }0S 0[/BPR[1 P00R4 6  B0Q P [0S 0[/BPR[ P00R& (ڰ  B0Qʴ帠 P 9t0S 0[/BPR[ T P0t0R x  B0TQ|倐 P  8c C(0  < 0  . ZO,0<0p0 1R0CS0 0Qs 0 B<@!p0 P0PP 00S0s0y p0SȀZ000ㅰ`^0P0Y 00ST,pl00T P@@Da LX゠E@D 0တ⅐Ld@\0L00Ax0 0h0 0B0 000E|00HD00K01`0 0Ft00E 00(P@XTHS C @D, S<,("  $ x ^)#0 0SYڂ `  0 P `US1 @#3^`D(@ppV``@\1#\` 3#^`V^``TppSp# p`T@@WVppS@#@ PS`pEA4Z `K8  J`@P n45JP *l0j: 026J,,;7jld1 F) *hf3*4LF`,&,0j5J1 jfhdI,(ME)fH`*$B"ROJEO O A48 0Q P0 ` LV@V0 D0V@N @V0@N @0V@N @V0@N @z0V@N @lV0@N @^ 0V@N @P V0@N @B 0V@N @4 V0@N @& 0V@N @ V0A  0 @ TL H0P0S 0S 0S,0 @@`0N@ 0hPX!p 0 `R 010#WR1P p#p3pF(`Wpp X0 `R#X `d`p p Rp#Y R1`#3  SZNpLAPE `KBO h0JOjl1 O*h0)RNlAOjl$b r)V"MR0S ,P0 @@ Q@p`!0@0 D0@00l0@ @@0XP0@0 P0@D0@0j@B0@!PX0@ 0P0@D0@0T@A0 @PX0@ 0P0@D0@0>@B0@!PX0@ 0P0@D0@0(A0 @X0P!00N00@0 0@!00N00$00 Ro0PP ݍ Ѝ0 R  c|^w0Hppt` G bO*aPO*b r)^POa0p \ObBX`PMCL0BC|^U 0t@ g` a6jR1 G` V4JPr)\tI^ RO*Am C=G 0p`0 0ap00@0BBR 0 B `Kp00 PR L@n< T< R S<  R}do᷉0PP &aad^O-@-30ZMM ^|U>00 0P0 @z$ Dl00*  A10*0  8   xzSh 41p0jkzgfg s41?M 0 0$p@8  @IY DB$(Ɍ!@P@V``LV@P(@␀q1   Q $A,(. ّ   | 0  \@HDD00(0h0 0=ZZ5u ڃD`zwj:jj@@@CPh 0Sjz7$0c<0jjj00PLP0S7Q 00S@ |0 00S@(z1z@00@0R_0@8<1pQ:00z zzlz,@GgڰZZ,l<FJjZ0x9jzwZjfz7gjvGj6Zf'zfz&jefjj9fzggz 0CzggzCXTl09p0<0xPS0尫}@ 00 0d `k\0尻尋/ B/ A/ C\ڄ8Jʰ0Mz_!"gj>#gz tP00j000L00,00400H08D $1H@lR1'h4.P0L00@p 8p܅d4P P`  ` ePa0 b>  f<8K% ࢌOH%$l0`%,$Lh%`(&pnlH$ MDOa Obl jihfh`hf`ejj &) I B&@DFLNčH&I JHM `BQp$D`<PL8@L X`PT@PE@PtP$  p(  !, "p!p$*"p [0!p0'" pA *B' zZ zZ zpjN Npz7jvzwP H0 P < 0H0SL0 0L00Lm0 Z j%;Zʓ; j:J{ JZ Z 0P0R    B0Q0P 4000PP }0S ZލЍ@0 012⇆z0,0S0:JZ=Z|D00cz*zz zzZ BCSS0@.x Q*<aS&S#D8:_`JtcJ` +Hd*<PzQ:/ I/ FzGj5juzFzwfz7'z'zgjafj `T z'Gz AX zggz A\   z_P81#gz00L0$14010000x00H0P0X4 0L'00H <  zp8P0`pd@ @ d@0gd:[6jb l8> ̗l` lMn`9 `jlhfM`pnhf8>ven`<` `hf?=ffi fhf`mL JjF IpR.8`P$CPE0,pAT`\PX p0@0 N$ WP0 0K$PN.b jjz7zw`$, 0  < 00Sv0僄ZލЍzgjgz0 J0C:7pH``\ßXCR @  0430  PՄ1 $A 0pC000ЅŸBR @ 020  P忄ᴄ0 Z  jejjjꐊ Z8Rj Fj7:jzjwFzwfz7Zgz'zgjefj* )bz'Gz  B$zggz  B, H I jz1(x000@A J4 Y4 H`Pp<$0 \2"00, ! #0<4a:zz'z7< 0 R @0@  01| 剒 吚z'jjp$zz틄0z$ 0< D00S 媃i뤄*0CFD000PP F/</|?$<?0@-$ (@0PXe PPPP 4P 8<0 8P<@00O-`-@pȟ iMx01(D0Q4GP  $0*b S b 0 0+2; 4 6 0[/ P[0SY, 0<00  00S0S0S00  0 ""8 U12 0,0   1PC 0P S- 0SC(Q#Q Ž*a\ `P \H d$ b ` qS a ` Sp SŜQS0QS0Q ` V `V`V %1S <Z0 1@ 0@00`p4Q@ halqN patqxa|qaq儂 0 b0c0ᇃ0c  r $0 bJύ S> @@ b,1 ! B D$(!,! 0[/ Q[0S,, $1  !N1>+@;P!S.B D8X$ T1`!d!L+N;\P R  0[/ Q[ R$!\1  0S募曟 01@0 02@ 00 pSAp0t 0 ?/0p0S t G0RDT1S 0[/ Q[1S 0[/BPR[ P01RB D  ! B0Q01Q041S<\!80$1  0pP!ST1P R!B D100P ᶁ0`S - P0@(S Q0 Ž*c\ `P PH d$ b; P P Q P P PŜPS0YpS0tP S4偐( Y YY ( P ptPX \`dPP ( *?T1S 0[/BPR[ 4!0RX! B04Q BH8/+.\$1!PZ+\;T1^ `P!L+N;l1P R ɀ$ l1\!8 X!S$ f?PP0`! Z\1^ `1d!  0p  Ph* l\ PҀ1S  0!     &픰*`Z \ ^ ` ݀ c0a00S P̀0` S- P0@(S Q0 Ž*c\ `P \H d$ b; P P Q P P PŜSP0pS,0tP S040 0 SM ,0S0(00S0S: 4 (0PhlptPH堐L P TP P( *T 1S  0!   "턀&`( * , . K c0a0O1S 0[/BPR[! l!0P1R!^ ` B0lQʔf?P  Z;0h1l1币td`0p`\  0$4 `0 `嚀ᏀP ᰁ'1\X1 0 P `0 Y0P>010P᫁ 4 YS^YZYVa0 !0 0P"" T1S 0[/BPR[Y 4!0PT1RX!P R B04Q\$0P =1S 0[/BPR[4 0P1R !B D B0Q$@0P 0S 0[/BPR[ 0P0R 4 6 B0Q0P ~|0S*iߍ 0( SYY0S,0(00 <0x P 04100߀D2iߍ0"TpZ H ` VQZQ^V2 Zhl  >@ <0 2L4N 01幀1S 0[/BPR[ᶀl!0P1R!^ ` B0lQʔf?PF s~D0<0倀0P-Q 0P Z< L Z h1 Sl!R00 0S41 Q~<0`P 0S 0[/ Q[$0S 0[/BPR[: 0P pS$ G5(00C PQ0Q0#0S 0,0  .4 6 G"' $<!`pxpT1<00P} }}}<}|0S D7~~~O--p@,M\0Pd`X}|100@WT  p0pP Q 0@P00D0H0L0P0v}0@ 0D000P@ [/ Q[[/Bσ\R[ ,Ѝ 0 0R@T  \0000X~~,Ѝ2/X~{~,XC-,MXPpPhnH@ T  L`}$Q 0 PpP @4/ @T 0[/BPR[ ,Ѝ 0 0R`V 0000JX}},Ѝ2/ P 0[/Bσ\R[003/~Xp@-`@T 0@|UPU }pQ/O-髪 P媪J0 M0CC2Q 0 \@( C 00     @ 0Q) Ѝ0U%U%@pPEE2 0BSh: Q0 000S `0!0|} ~ 00`V( C 00     C U9 @ $ 0P$0X0@  $ e0S D  ( 0,`(` $  0[/ Q[0S`9}0P0@XT 0@B|XX U} 0000嚹+ Ѝ|| PT}0P&|@}u|0S @00I)Y 1}}}R}0@|B O--0\kM,@)d\dH @P0xA|Q J R \\@LPDU^pkߍ JCL00@  #2<""H0PL D4|}P< RO4@|d0, |^_t 08Px|}p|W( B}DF|@0 Q4` {8p0 { 0jP2FO:<  0H PLz @`q @8Dzz zg 2 { 0?C L@< !1 !$1(!,10!41{ | 00. 2 `{`5|0PP0,0810F H(10141`zPz$@p0 ( > ? N0: <Pz 0) `  5{UR 0S 0[/BPR[ 0S 0 B0QBLF H00(`0!$ E4P(,1 0 tz0$` 0!<1R' _&_ 8!( 0"=<1>,0810F H(10141EzCz 0S@?000A00p $`0 0E 0p S0a(`⨏ό:< aȀ`` `F ```Rz0h 팀zW@ 0S 0[/BPR[_ 0S 0 B0QF H00(`0!$ G4P(,1 0 y0$` 0!<1R 8!( 0"=<1>,0810FH(10141`yy0$ P 0 pS0p(:< pN y0p p(zU@ 0S 0[/BPR[ 0S 0 B0QF H00(`0!$ E4P(,1 0 wy0$` 0!<1R 8!( 0"=<1>,0810FH(10141IyGy 0 S P<0 0Q 2@H 1`]y@0 0 2@H 1` Oy `V, @ @P0p0 <萍H`6Ry0 P<萍`H6PBy `PVVX5  &080$0 U PPWPD 00Uzy1S 0C[/ Q[1!0 yLPy6, y 0zpP 00p  R00S 011z4ۃ  00d70 $ yyzP0 uz zT0  mz x x 0  nx y 0 !_x ry 0 !Px cy 0 !Ax Ty0 aez0 ^z 0 WzH0 PzL0 Iz0 Bz0 ;z00 4zo0  ,zx @ 0 xpIz xxxxW* `VJ:0㸀 06 0!0 00ȐpPHx"yPPxy*0   fxxLT 0@wUPU xKT 0@wUPU x8w4wkߍpx}x`w 002 A Dw>mxjxR?40^?804 x`xxDww8pw4nwxkw`hwdxx8[x4wxUxy xxO-P-`Ɵv MpPd xhxP exP@xP $0*b S b.l1p!^/hR+T;t!V Xx| 0[/ P[0S, R?@0t1  0SN0SK0SH0 @xPv 0 pH!0lR - ` w`MxP`3 $0*b S bb/1!.`+b;!d f 0[/ P[0S, =\01  0 \_x[& -N-022xd` p`\  0t\ğ\4 `0 H `pwwX 0 $ d(xdwPd3 $0*b S b-1!z/n+p;!r t 0[/ P[0Sd, 1  !P 0)22~o 2$2">+;80| ~b2 1[0 whwP 0  0hwhwPh3 $0 b S  b/",2 " 0[/ P[0Sc, 2  2S 0[/BPR[e !0R" B0Q82"P+;2 "|+~;2  Nu8 2b"S/ 

K[P2?+;h0T" `VR ֫׻`38p7 0P0l0 01@T0&0,002@X0?0)>00P򘫍횻S0 20202222' p@$8@ T-NA $0S 0[/ Q[2S 0[/BPR[ d2PS0 2ڈ" B0dQ0Q`20S, d22hl  "-N a" 2(0( SQ00 D22vTD .vH!H1b 0H uu 0R S0R D022vD v 0c 0H wulu0$H ( ύ{ܢ T  -C6?Y@Blt(lT$L Fz 0 Íc3gvt0002v2 S 0[/BPR[ d"0P2R"  B0dQʌ0P t00`Fv,0pL2S 0[/BPR[9 ,2PTS0 P"L2 B0,Q`0P s@`T% PP$0S 0[/BPR[  0$PR㏊(0 0CP Q,00P 8@sT`V t@`T% PP$0S 0[/BPR[  0$PR㏊(0 0CP Q,00P 8@sT`V t2S 0[/BPR[ !0P2R"  B0Q80P gs1S 0[/BPR[ !0P1R!r t B0Qz?P Es1S 0[/BPR[n !0P1R!d f B0Qʬ>P #sl1S 0[/BPR[I L!0Pl1Rp!V X B0LQt^?P s0Shߍa `8@VCe8@V300`Fv,0p t0`2 80(P82D@;P  <0(B$(0H0?L*" P \ -N402 D0ɑP H0)"F/0D 妟  1L0$1<0>#22s2S 0[/BPR[ d"0R" B0dQʌ2"P+;2 "+;2  hr 2" "SZ Q   € c\ A0R1 0  P 'n pp偁 0 0 \mG-PQ0@ ` BU`C R+:U0!010p*Sp m RYPP mPPplp m mLmG-@Q0`  BBTA ym00P!PCE 0BS: Tp p0Wp!ql!bmP U  Bmm @pAU mO-P-@Pğ Md M`vFXx\0DpmPG+;  0+G;( q;mmP!ύ8 $0*bS b +;0("/,2 4"8< 0[/ P[0S, 42  mP'΍@ $0*bS b +;d2 `"hlpt 0[/ P[0S , l2  0h"@0帐HSQ` h@ L00  I  N  D ( s.) 87, ]<7mA@ P@^   0 5! T ,@0l10ll"@2R S0R* s>.0 ],0087<7m P @T  0U@0@0,` T Pll8`0  ].m0P<02p 1@0CTS2 0"+[ K:Bd@^@l04px* ;K;d;N;;c++ݢaa{( ``{ RS0 PZ>0ōT Cb>0ō CY>0ō+;-Y*Ca>0 *CZ>ō5b>8ƍ<ƍ< HƍLƍp%@6D s8PN>*NTs^QP,PXǍ @ N 0\ǍhǍvlǍanč č  ōA@$ō@,4 ]D`ō͍`Ǎdml,@N(`0JNč@0P R@d0ōan A 4 `T ]k0@N, Ran ō@ō @`4PNT6l0,0(` Nčd  Ran4 0`A @eč@ōk\7S 0[/BPR[ <'0P\7R- B`' B0<PdPC jA?C @0%kx? 80kFBsN @,@ ]kan`b΍H00   0C6 02H6k\7S 0[/BPR[ <'0P\7R- B`' B0<QdvP @j@0 ,@PC<0Ckb΍0  02H60I6Mk\7S 0[/BPR[0 <'0P\7R- B`' B0<QdP j <0(0 0 (BAQi:1R0<0SXP+_;_0 *B B 0$0004000"P jP jP jP jd2S 0[/BPR[U D"0Pd2R@  h" B0DQ@0l(0P i,2S 0[/BPR[. "0P,2R8  0" B0 Q4?P i1S 0[/BPR[ !0P1RD  ! B0QD0(0P li0SXލ Ѝ-I,< 0 ]1H87^iN>40}?00˟ 4p?O}o @0P+(@5#PiZG ĝ\A 1@ 0zjz7hjvzj  p ,J zjiZwZ6ZZ Z p JZ 4Q 1zwJj6zj  p  J0ړmz7jvzj  p JZ4zz1 z> : hz: cHz~* @ + Ja+b@;J+b Jz}Iz? * Iz= bz: @ ; Ja;c@+J;c J19 \0S an.`^O_ឯ[iPD DHpB E` ?,  L0 (⼢H` h00   ' ( ;+bDbx唲吲R+ ύ||qiJhb Tbe΍b+e,  >{Gz?0YPQa0{jhk J zh@Z(Kt* z()Zh+r: *j*j;s pzj(**qj7znyx Jj:*jr*Štz.-:j+v|*.+3:vjrȊo;{ezJ;1J*-8{7z{a!9j.;sZ.;;bZn/jnĊq'8grm peyƚ>Jrj@zJ yK? kv{wkDt{퉛=pE`o{  R[sō Z[pH@ōEM[h@8`):h##.Hc(KanLK`h0lt#p#  "DJh #X# $\ (, `{Kt@[BK ͍h ͍V΍WgD!3S `   0[/BPR[c #0P3R#  B0Pʼ(PP e|3S 0[/BPR[> \#0P|3R#  B0\Pʄ`0P eD3S 0[/BPR[~ $#0PD3RH  H# B0$PH0L(0Py ew@0 ]0gUe P 0,50 l `ff`0@ ]Cexe 8@Rō0(sQ0P NN<čan @A 8Ǎ 0 `T ]f(00Panč@8ǍR΍@ ͍ 0@`A T#H&R. b>UI =<  dJi G) 9 K)I?C J>0s,`T a>Y.QG0  `NudT㤀 `Ha400P@(\ (\ P nEnLpTW0P(p*Q (0@S0V7;_03 0 @4ÍÍč((čč Í( ,č DÍč Í K++ ;čύÍMds>T0K=0w>;w>0 =+A H0` UAh0{k[0 zzSTJjR*gJg'Z'Zgj'&:':gźZ*:JzKt+r;szy{wkvq px[us>E0K=+=0w>;w>0 {k[NPIzN✕v΍ !M@ 0 N+b ~N[~KN@+Z;zN@[yNR4@[!E+@ƍō@cb bbK!D0;䁝q S0+aQ0A0X^0+;++p` P$@ I(,40\000040D PB+C;01+B;1 s>40 ],0087<7hd@@0P@^   0 0<0,@T 00Nc  Ac<0(0Lh}dHzd`wdH0Csd| BؽTD V_b IPN?0+CJC~ A Ep;@DDTxFdGKJčč` B<čtččHLTdPd8 p |č  K+č+M;$$K.$< 0H `Ah aaaaKa a[z jQjJgzTZ'gZfJZ&ZŚ:*zj[u}| pKt{qY.C [Z. [.Kd+]N͍^ L ,0 MGnaN`<`H0~C8` ]a~+>`0~, ] a~ // / ///////// / /(/(//@-@`O-P-`0p0 S0M,0 0d @0"1(00`0 0R `%0x x|`0T(0, ,,0!B4^8 B<@BD HBLp0  tP p lpڔ("`ZT7 0 N`  L0N"pNh0 0L 00L0 Jh0Szz0 D &P@ Q` T B $   d  X z#*7zJJ  I$Y*( zD咘",G*2! <*@: zJjvJB0ڜLʒ P&JaH X 4fp0 8 !!*d:$z$*:zJ$aJdJ*!:zJ&jbJ:&z&*!JJ%Zs wj2z&Jj&Ze `D:J C[z jze#zzCJ4jvzz  RSJUT !j@jT դjfJ jfRJZݤjf&z'zg&j&Ze ` 0RPEj`J zef:Juz:zAj:AJjA dJ A:zj: jvjZz*JJ B WO `jj S P0D0P`0X0C$0d00\00z*3zJ* C S I$ R**( zD嘒",G*2! <*@: zJjvJB0ڜLʒ P&JaH \ 4fp0 8 !*d:$z$*:zJ$aJdJ*!:zJjfJ:&z&*!Jh%ZsJ wj2z&Jj&Ze `D:J C Rz jze#zzCJ4jvzz*  RSX !jjT J jfRJZݤjf&z'zg&j&Ze `0Sj`J'zgf:%Jv z:z@j:@Jj@ dJ @:zj: jvjZz*JjCS B\P: `jj Rh 0@t J0 00p S00l 0000MЍ 0 R0S0%S0S,,3O-0P0TM ` ,bL0p$_0@ R,0P( _\^2^ 0_P,^^ TЍ 8P0 0 q] ^0(S1C$ ^ 0 8_ 0  S] f^0(S1C$ ^ 0 8n_0 i_ 0d_ `0 , +] >^ `0 \ ] /^ `0   ]  ^0 2_ 0-_]P 0( ]J_jG_]]+^PqhA-@ Sc1qU00p0 0P\V cV ]ScU 0P\VcV ]-\*\'\ \!\\\ \\\\\\\,\ 0000^$lntC-@0DMPSp0 P0@ S Q *bQ ` P PH d$)b; aP  P` P  Œ?oP20S ` 0  p8p  $(,<80p4\0S 0[/BPR[v 0S 0 B0Q 0($$( P0,0 ! D0 4\0 $ S40 d0 $0 ( 0 ,00 E40pRN O(  0(0,0,0(0  [?0Q[0S!$ $0  [DЍ0 v R Rx Ru Rr 00p\00\\0 `M[\B81A-S@ 0[/BPR[ $1S@!0 B0$Qh1 8!S 0[/BPR[ T1Sp!0 B0TQʘ1 h!S 0[/BPR[ 1Sڠ!0 B0Q1 !S 0[/BPR[ 1S!0 B0Q1 !S 0[/BPR[ 1S"0 B0Q(2 !S 0[/BPR[ 2S0"0 B0QX2 ("S 0[/BPR[ D2S`"0 B0DQʈ2 X"S 0[/BPR[o t2Sڐ"0 B0tQʸ2 "S 0[/BPR[W 2S"0 B0Q2 "S 0[/BPR[? 2S"0 B0Qc0s2V P0PZWc csVP0PZWcr[o[ l[i[,f[D!c[\ `[t'][*Z[-W[A-@ Sc1qU00p0 0P`ZV cV s[ScU 0PRZVcV e[-IZ*GZ'EZ CZ!AZ?Z=Z ;Z9Z7Z5Z3Z\1Z,/Z,0000x\ZHbetßO- DM `P $ZP3P#08[(@@ 0(,;\pZWZDЍ0 0Y Z0p(S1C$ ^[0 (\ p0  Y Z0p(S1C$ @[0 ([0 ([ 0 ([ `0  Y Z0`(S1C$ [0 ([ `0  Y Z0`(S1C$ Z0 ([ `0 h bY uZh0`h 0(S1C$ Z0 ({[MZ@0  Zp[H[Y{Z=ZdchA-p@,TD Sc1U000 0P#YV cV 6ZScU 0PYVcV (Z- Y* Y'Y Y!YYY XXXXX\X,X40000;[YAY0`P]tA-[0tq`p Aσ\Q[H10QKPUD C$1T000 0@XX X YCT 0@XXX Y-X*X'X X!XXX XXXXX\X,X@0000ZXYATYA/^h[tPp@-@? 0PS 0[/ Q[0S 0[/BPR[DY0S' 0 B0Q0Q00S$ 0$0   0R000!!p Y0  00 O-@`-Pp }M 0 N&M N NP;00j0 `0)0k: Z0S  80 p`0 >333333?B0z S: * `z{zgzzjzZzfz0`~P  __ 0 ` ؀`PT`d8 p+;X\X01L 1F =X W\0Y@0 (` E p z 0jZz:0z%Sj&zg zg qz& &z' pzg  zg q  q pW0 @ 0 @@BAA@ B@ABYP+_;_`0 2Dph0@⨐ pP  l0, .p(+*;t 吀@ȐP7/0S R[ 0S  0  0hp2H 0$pbX0S 0[/BPR[  0PS0, . 0 B0QP W1S 0[/BPR[ !0P1R!f h B0Qʴn?P Vt1S 0[/BPR[ T!0Pt1Rx!X Z B0TQ|=P V<1S 0[/BPR[ !0P<1R@!J L B0QDR?P Vx (0Q`1 0`a,"`0"a4`" [? CPS[ l 0P0R   B0lQP VT0S 0[/BPR[s 4 0PT0RX   B04Q\0P aV}ߍ 0  hpX0S 0[/BPR[ l 0R  B0lQʔ/6+8;P: <(+;0  hp-V0@吀S1ŔŐ0 B?P P0  :+<;06 80 V=Xb:X7XF4X7h1Xj.X (  d0S 0[/BPR[hpXl 0R  B0lQʔ,(+*;P, .(+;0  hpU0@吀S0PPȐ0P"+#;00(+*;0, .0000hpW\UUW WVhpUBO--8`@MpPPATV 400aU@'WX \\ 0 2D#`` P( ,040 LT dP F_ 0004080<0@0D0H0X0T0 L|J l0p0t0x000 AbRτ!V/Q^_@jDvτ000000< >111 111H J014181<1L1H1T V`1d1h1l1|1`p!n/tQz_!/τx1` b111111l n111111x z1111 22  2$2(2,2R_0"/4`„τd"/<282 P2T2X2\2l2h2 222222 222222 2R„22222333 333"T0P`@0 0 0[?0/R[[? CQS[z  0  @4/[? CQS[ 0SЍTЍBJQNGIHHt 0 0RPUE CD0T000 0@KTX X ^UCT 0@=TXX PU-4T*2T'0T .T!,T*T(T &T$T"T TT\T,T $1000bVTT d1 0R[[T # 3 !S  000 0S 0R 300S U#3S 000 0S 0R300S T-S*S'S S!SSS SSSSS\S,S 2 000V T}T"2/ 2/-tT0S TTO-P-8@111 111H J014181<1L1H1T V`1d1h1l1|1pRτV!^/@bDjτpnt!v/x1` b111111l n111111x z1111 22  2$2(2,2zτ!/„τ0<282 P2T2X2\2l2h2 222222 222222 24"/`d„τ"/„"22222333 333R0@ 0000p@ [/ Q[[/Bσ\R[ BIF(@t 0 0RJYA C T 0@RZ Z SCT 0@~RXX S-uR*sR'qR oR!mRkRiR gReRcRaR_R\]R,[R1 000T $S!S2/SSO-p-`PMQML040(0-01S) 0  SQ00 BN 4 $4,TDğD   0 40 $ S S00SB 0S +  p e Z 0 PZ/p1t1x1|1111111111111112!b/H!f/X Z!n/d f!r/p r| ~!z/L!2 2R 222~?2?20Q H 0  PLQ40S4H 0R H 0  PQL0 0S `4"/<@"/82D" LH 0[/ Q[L0 R L0$ ">X0D2  $4 b `0d"/Sp"/t"$lh2 |x 0[/ Q[4 R 4$ %>\0t2  0CS  z;K%+.; c  Jz[ c  J c  ``<J` 7JQR<0. 2ư>B@@XDd}{xzBN00 4$4 S00 \  0d h0 0$ QQ. <B΍BN0  Ά 0d 2@$č 4= 0>0>40>80PB΍0 0~ 2@$t 4= 0>0>40>80P0S  <0 #JP0JC2U< *0%(Z  0P Z # J0IC2UL *00%%Y 0PYSSd0SI 81S 0[/ Q[0S 0[/BPR[ = 0>0>40>80GQ0S 0 B0Q 1Q0$1S d= 0>0>40>80.Q 01R8!0410<1! SWI h1S 0[/ Q[0S 0[/BPR[ = 0>0>40>80P0S 0 B0QP1Q0T1S = 0>0>40>80P `1Rh!0d10l1!<0SA   @ @P6>00BÖ0p00  $č͍ ΍؋΍4΍8 PB Ö00 P$č΍΍ 4΍؋S 8O<0PXPppw, = 0>0>40>80O녁![P0 0H  0QPZo0+r + R㐫2 ?R"D2  0 +I 1"0  B΍" 咣* 0 2@ 4,0$4圢嘢QY+/00SR02 ="D20 +3 10B΍"$咓) 0 2@ 4\0$4ԒВWQX0+ph3W?␋39>lSD03  02D + `3Q0P0h3B. 6 ᓅ(00 2@ 40$4|x*Q0{02+{46 {"z#z{{$z%z" $8 :O$O2S 0[/BPR[ "0P2R"  B0Qʬ P N= 0Oz>0>40>8067绸z۱˸< .R ] 00S `. J9) i0a{zS#< la{: k`{:00!#؀<0SX82S 0[/ Q[ B ltlPjhe1S 0[/BPR[: 1S,!0 B0Q 2Q1$2SwX :O!02R8<"142!1h2S 0[/ Q[2S 0[/BPR[ 1S"0 B0QP2Q1T2S2\O"`2Rh"2d2"2l2 2x1S1 d1S% CR+#Q *bQ ` P SH d$ b S  S  S  Œ ?o\2\ (0 00X P0 A Í$T @`Íd @ čÍÍ(č,čN0\0  A Í$ @`Íd @ čÍÍ(č,čNB$T0   J SPL`Í @dSÍ @ č N0J  $ B dSL`Í @Í @ čMQ> !> $ = 0'> D0S <00P0 Pd D P] 00 0 D00PT0S (0 0Sx% @ g&f&F, (p< 81@0D!<1MP5(  KNl 0 č$čOONZ% 00 M N2S1C¤"wN 0 O 0 $ L M2S1C"YN 0 N0 N0/N 0  L M0  TNP0\ NM @ N?-eMPNBMU $Lr P 46 WM M 0 č$čNpMW 00 tL M2pS1C¤"M0 N p0  VL iM1pS1C!M0 qN p0  8L KM1pS1C"ǮM0 SN0  čLN0  čENM @ 0 LpbNLW# 0X>0SGڈ"0C0,0P(_ /P bp< H1P0T!L1L,:(  M 0@ č$čNLZ H0Ê0 K L2S1C¤"=M 0 M 0 $ K L2S1C"M 0 M0 M0/M0  TM 0 ML @ R?.=LPMLU $Kr P 8: /L L4 0 č$čMp\LW 00 LK _L2pS1C¤"L0 gM p0  .K AL1pS1C!ǤL0 IM p0  K #L1pS1C"džL0 +M0  č$M0  čMK @ 0 KKD0T0J0J$JJ\JXJJ J8J4JTݍЍmK00 0 D0P 0S1S 0[/ Q[x1S 0[/BPR[4Kd1Syڀ!0 B0dQ1Qx`11S 4vKt!1R!p11x|!t12S 0[/ Q[1S 0[/BPR[8LK1SCڰ!0 B0Q1Q11S8;K!2R1P<00C"<0P 2D!1=J0;J$9J7JuL JJR1S1X 0 F/ aJ1S1X 0 . $RJ01L 4B>0 $J  J01L 4B>$0 wJ J~0Í0Í 4P(čA ,č @0 S$č` @d čJ00P80 A Í$` @dÍ @ čÍÍ(č,čJ  0$ B 0P _L! `Í+dS @Í @ č JB΍$ 0L ` @! @ 0dSģ+ J z _PZ ' KB΍#0C΍,4%% E.͍ ( B. H$E.` L$ 0T S4T R `"D 1 $0  ($ S%0 2@(30,3P I<" 2ADP<!1H0H$HHu9\t"X12  ,D"(11  ~!d1lh1  6"11  e 0P R0S0S0S4P 0R40S0S40Sꚙ>YV YHP ?> |0->= E> `0>p/>WI  ph0J3 0#T>,3>4 \P3 Ts D8Í <Í 1(00_p "@#V P! t T!D3@3RJL3S 0[/BPR[B ,#0PL3RP#  B0,QTP H3S 0[/BPR[ "0P3R#  B0Q2>P G2pT 0400d0!+x ,00@030l0300,00 2 H3( H 0l(Í,ÍIHZ 0 ,0 0SQ00 (3,3Iq 02 0 HH00, yG H, 0(S1C$ H 0 (I 0  ZG mH 0(S1C$ H 0 (tI0 nI0 iI 0 t 0G CHT0 (ÍSIx0 NI H P 0 GkIGZ  @@00p J hP @T(Í,0Í4Í%H 00@ :Pa 00@0`S,00  00,0#`FF|F Fh!l  WWhpU|ROQ8(M888L887pL747K,766KBN0 4$4Hll偒  0 $ 0100GG">LX00$2G'%>\00T2GM4G`FF|F F1Yi1S0Se2Sqa1YO1S0SK1SQG H^H9E = 0>0>40>80FD!,(0$0  t!\X0$0  S0IE= 0>0>40>80dFP2 "1 2 !1pHYG G0<0=1 x!`11 !1 %G"}2  00 G G"2)唢B< GH#}L3  00 F F2"̒^F#}3 00 FF`3lS9#t  hH H^0!4!G $t} p  0H40 0 FF $,4)L4TQJ_(,G}   04 0$ 0 FF(4T#<ÝIP1  0t 1  0"= 0>0>40>80E00c0@㔳$ T 0@D`E~E= 0sF>0>40>80RFFnE lEDIE0GE$EECE\AEX?E=E ;E89E47EtFGE= 0>0>40>8000 0c0@#$00T 0@DE0FEeGF= 0>0>40>800EE`DD|D DEE*F EE$E EEFEhDEEE00c0PC%U 0PED0DEE0DGO-@: :JM H A PB"S  S00D   0S 0 d00 ( 00 I,0(0$ $0 $0(0$00 0  Zpp Dpp@0 ` $ 0`$0Z0@  $ f0S D  ( 0,p(p $  0[/ Q[0Sp-E0`0@Z0pZ@0 ` $ 0P$0X0@  $ ( 0S e$ ,`(`0 D  0[/ Q[ R`D0P0@X[ P 0PDU[ E @00Ѝ ( 0,0vU5U5@ROR000 O 00 000C.DPUbE)DPT]E0PC0PC@ED C0S DIE@E DW@ W 0@CEDB S1 a 0@-P M@ C,(PP(@ $ @(`D @00  A0 Ѝ0$(, DBO-`-P@M$M΍C ğ NP (DDP C D P C DPg J $0*bS b +L;D? H/ N @/  8 4 1?  P@/&΍?J p^+;"n+A; +;   +; X T `       h d @`  ^ % (0\ PR S P r=n 0x0 `Br-0 0r- a0Dn ;D!1Z 0D CC@?r0r 1CCP J* $0*bS b *L,> 0.  N (.   $.  0[/ P[0S; , $>  \?U`/: *Z P0;[+e+S J+e0+Je+B@@Bh?A+bKbKJKbKJ0U0 ?0.0Rb{:1 P0+00S"). ;+ ``{aa{J8#("+hb{:0S0R0ʸ> S 0 @ )N| B>S- Q 0AS, !!Q0"*cR ` P RH d$ b;  Q  Q   Q  ŒSQP0(PP Q-P x0a0QMPCP @ PrM @P@r͍@P@00@La͍4A @B2>0<T0I >J  00] 2@= B6>L0?D0P+;.J>JCCLPJ*B@.n E  L@+C;0` B `+A;=  = x= t= | +;@-N @P= L= @= <= H F= = = = M @= B@ @= = = D0 D H0H0 0? 0xp00G  r=0Pr=0J PbBaMam0@4`G QPrm0` rm;` P@ NH0`N@H AQ F`G0`Q`  @0`a4 Prr@@a0J BP >S0 S % 078@C0x? t? B8QP0`P\  0x0 000AA >>0B?4=  >;.~8- 0BP4 .p4 x A8 0 僀~>0 CB? 9 P) .p sA B:<,: 8^I 1 0(N0 0`N8N ` P4@ 0,;H 0S0W~ %00 BHp l BAWC @0pG40CX @@ L  QR ࠣ࠳X@ᘀPP PPTH V"x㘀{@@X0@@H@P`P,P08P,P @(1C``1X$PnX`@@aA\@Vl8 hh 8 `$(d(pptpp0Hppp, 4B+ 狸0$ T (.uT T? $0* 1,00BP0 B?0 .p A? PQ= 0BP Q= 0 Q=.p 05}?Q=0a-@00 BT00a=.t40@-k?a-\0 z0Q- D0Y @0@0@< H0zp` x 0f`:  l@ V zp 9 < 0z0 S `{z0S  _, 0 0S(0E0 ` B  L`PR10pL 0PL`#`3QR1p 0 # 3QP1` d#3u PPS ?p ,0X  `᐀thp`X p0|pglp qthpPpA(!BpG4pp`\1C  333333?MbP?!0 H`1    `   al.p0Q|D` ah!00̀4p \ 0C0$0{X嘀i(1 0 0|`P 40(0.s0#"h O(-Q}TP0 \ _[_; Hj(ja&Fd&b`i$AfIb!d I YJLL*B^ X R* @C^`KOࠡP. \$l\A`l @C^ O PKࠡ $ R.A C\@K .!, R,0 I Alp(zQ<zzg0@`P5 Qjzjz7&zlRpz R8` R dI  b@BA@ D B@ nR L R |  P t R      , R"H  @B (zP<zzgBPl0 `E 0j PLzjz7zl0, \z$ R hH  z z jzR`jR:Z*Jq!kb d a `{{zzAPSW 0 S0@X #0X 4 L@ T0@ D4@0Sa=0000PP =Q=00PP =00PP =0 0CPPFP0 0  Snʜ>S 0[/ Q[>S 0[/BPR[N >P.JS0 > ?. B0Q>Q> Eʼ>SBʴ.>   >  @.J= S   0[/BPR[ P.J0Q=  - B0Q0 0P <=S 0[/BPR[ >P.JS0=  - B0Q0 0P ;L0PPH@8@D$0S 0[/BPR[ 0$PS( 0 BP0Q,00P ;D0T00C0s \?`/: * Ru1,.Q`{:R0a{:0 [?0Q[>S 0[/BPR[ .0P> R@  ژ. B0QP>Q> L>SD$.H>   >  >J0,. 0@0 .  LaKa;0 S@d   B^H r-x U: +r=u0P<000r=0$ (P=!R =@%q zzWzg  Y pB !,  R(01!z,0 p S (0 R R00(E O*!, pi " \狸H<  D0 P $B4 XX nR (` `V(` 0e! zzzw p ^,0S0 0`cVB;\0kS[K+#;h&kh%[h$Kh"+h0  R(0{ ;skv[uKt+r$0S/40< H0 (0( {RR{p S RSkv RSRy{Sq& i;s[u#i`%i{wxq+rKt!{$i"ih k a `{{zzAPU 0 S W` 800WL`T0@ DXPpY -=e0 S `r=0x00P000P0S ; RT @10T  ʕ R'Pp RPҏa-\04 @vr=0`0PD0T%H@H0R; T @08C 0 ?9L0 >J( B0CD   )N":2>0."; RPҾ,>S 0[/BPR[ L>P.JS0 (.,>  B0LQ1$ 0P 8d>S 0[/BPR[ .0Pd> R! `. B0Q1\(0P 8>S 0[/BPR[ .0P> R@  . B0Q@000P 8>S 0[/BPR[W >P.JS0 .>  B0Q@00CP ^8 ?S 0[/BPR[0 ,?P.JS0 / ?  B0,Q1P ;8D?S 0[/BPR[ d?P.JS0 @/D?  B0dQ0<0P 8?SBݍ$Ѝ>> 9:@08C5:T2:>S>S0 S>SJ@ 8>0^?1 J8*>1w J8>1>1P>> d@)N:K0 88ݍ$Ѝx0896x9bx0p90(C0d? 9C  X8PJ P000SE0C C 8C J8/?R6/?R27p701S'.J B> R9P{r=0 "@ r- ?0038r=0 1 7a 0Ԑ 7> P0p E7C7WL r-@ 0 1@@r- 097?S. 7+10C0,? M901C0L> G9h?0/1!RS_ ZZr= 0x0r=0 1vL9@08CH9@E9|B9U1C>9-;900L7r}r- p8 0㲟G Gpr-( 0r-, 쐍0r-0 xp0r-4 0s- 0s-00r-< 08G 6r-8  0 G pr-< 0r-( 00r-, 0r-0 0r-4 0s- 0s-086I 6x0C66?S 77808 00CPP 7T)N66L06D666@@68D6660 0CPP 7770 0CPP700PP 77Q=00PP 7?0 ?0L77r=0x0PP )Nma=0000PP 7077*6 B / / / / / / / /(/(/,/,/ / /8/8/</</@/@/ / /P/P/O- M T/h00 ^00L`pPڛ(t'd&T%Jj 0:0zSzzwzzzwz0@ T `0 pP ЍO- MW1z00h L0P0`00DX  @ 0 0  0 zjS^zwzgzzjzwzgzW ЍO- MW'ڠ00h L0P0`00X 0@   zz^zwzzzzwzW ЍO-`^0h \0pPL 0؞%" !l7# @Ⅰ B 0 zz\jjzwfz7zwz ^@O-P H2,6S\P 0[/BPR\[P 6a.P S0,6 B0& B0 Q40PP !25S 0[/BPR[y P^.0Q5 B% B0Q<P 15SY^P 0[/BPRY^[PV 5Z.P S05 B% B0Q0PP 15S 0[/BPR[6 dPW.0Q5 B% B0dQʌY>P 1L5SR^P 0[/BPRR^[P ,5S.P S0L5 BP% B0,QT0PP 15S 0[/BPR[ P,0Q5 B% B0QR>P m14SK^P 0[/BPRK^[P 4-P S04 B$ B0Q0PP F14S 0[/BPR[ PI.0Q4 B$ B0QʬK>P $1l4S]P 0[/BPR][P L4E.P S0l4 Bp$ B0LQt0PP 044S 0[/BPR[m PB.0Q44 B8$ B0Q<=P 03S_ 0[/BPR[_L P/0Q3 B$ B0Q00P 03S 0[/BPR[- P;.0Q3 B# B0Q=>P 03S 0[/BPR[ lP/0Q3 B# B0lQʔ?P s0T3S 0[/BPR[ 4P -0QT3 BX# B04Q\6>P Q03S 0[/BPR[ P/0Q3 B # B0Q$?P /02S 0[/BPR[ P-.0Q2 B" B0Q/>P 02S 0[/BPR[ P/0Q2 B" B0Qʴ?P /t2S 0[/BPR[s TP&.0Qt2 Bx" B0TQ| =P /<2S 0[/BPR[T P/0Q<2 B@" B0QD?P /2S 0[/BPR[5 P.0Q2 B" B0Q !>P /1S 0[/BPR[ Pn/0Q1 B! B0Qv?P c/1S 0[/BPR[ tP-0Q1 B! B0tQʜ>P A/\1S 0[/BPR[ <PR/0Q\1 B`! B0<QdZ?P /$1S 0[/BPR[ P.0Q$1 B(! B0Q,>P .0S 0[/BPR[ P 0Q0 B  B0Q0P .0S 0[/BPR[{ tP 0Q0 B  B0Qʼ0P .PpU% P$0S 0[/BPR[  0$R㏊(0 0C Q,00P 8P.WpW /xP|pU% P$0S 0[/BPR[  0$R㏊(0 0C Q,00P 8P`.WxpW ^/lPppU% P$0S 0[/BPR[  0$R㏊(0 0C Q,00Px 8P2.WlpW 0/`PdpU% P$0S 0[/BPR[n  0$R㏊(0 0C Q,00PF 8P.W`pW /TPXpU% P$0S 0[/BPR[=  0$R㏊(0 0C Q,00P 8P-WTpW .30000.8PW8PW8PWd8PW2T8PW"/ ///\/+ /?/b]//V//O//+ /K/nA//://3/ /+ /J/i%///j//N/# /B/a~/ x2R0@-0@0 [?CPS[ P0 Q0 B  B0Q0P '-0S 0[/BPR[b xP0 Q0 Bڜ  B0xQʠ0P -`0S 0[/BPR[C @P0L Q`0 Bd  B0@Qhl0P ,(0S 0[/BPR[$ P0 Q(0 B,  B0Q040P ,.y-.zt.<..< 1R0@-0@0 [?CPS[_ xP0 Q0 Bڜ  B0xQʠ0P ,`0S 0[/BPR[@ @P0L Q`0 Bd  B0@Qhl0P c,(0S 0[/BPR[! P0 Q(0 B,  B0Q040P A,".,tf.<c.`.괧!4R0@-00@0 [?CPS[  P0g/Q1 Bڴ! B0Qʸo?P ,x1S 0[/BPR[ XP0Y/Qx1 B|! B0XQʀa?P +@1S 0[/BPR[ P0K/Q@1 BD! B0 QHS?P +1S 0[/BPR[ P0 Q1 B ! B0QE?P +0S 0[/BPR[ P0 Q0 B  B0Q0P +0S 0[/BPR[n xP0 Q0 Bڜ  B0xQʠ0P ^+`0S 0[/BPR[O @P0L Q`0 Bd  B0@Qhl0P <+(0S 0[/BPR[0 P0 Q(0 B,  B0Q040P +,q+c?-U<-G9-06-O3-nt0-<--*- 1R0@-D0@0 [?CPS[_ xP0 Q0 Bڜ  B0xQʠ0P *`0S 0[/BPR[@ @P0L Q`0 Bd  B0@Qhl0P *(0S 0[/BPR[! P0 Q(0 B,  B0Q040P *o,F+t,<,, 1R0@-X0@0 [?CPS[_ xP0 Q0 Bڜ  B0xQʠ0P U*`0S 0[/BPR[@ @P0L Q`0 Bd  B0@Qhl0P 3*(0S 0[/BPR[! P0 Q(0 B,  B0Q040P *+*t6,<3,0, "5R0@-l0@0 [?CPS[M P0/Q 2 B$" B0Q(?P )1S 0[/BPR[. P0u/Q1 B! B0Q}?P )1S 0[/BPR[ P0g/Q1 Bڴ! B0Qʸo?P )x1S 0[/BPR[ XP0Y/Qx1 B|! B0XQʀa?P r)@1S 0[/BPR[ P0K/Q@1 BD! B0 QHS?P P)1S 0[/BPR[ P0 Q1 B ! B0QE?P .)0S 0[/BPR[ P0 Q0 B  B0Q0P )0S 0[/BPR[t xP0 Q0 Bڜ  B0xQʠ0P (`0S 0[/BPR[U @P0L Q`0 Bd  B0@Qhl0P ((0S 0[/BPR[6 P0 Q(0 B,  B0Q040P (*^)*q*c*U* G***I*ht*<**"7R0@-0@0 [?CPS[ pP0/Q2 Bڔ" B0pQʘ?P X(X2S 0[/BPR[r 8P0/QX2 B\" B08Q`?P 6( 2S 0[/BPR[S P0/Q 2 B$" B0Q(?P (1S 0[/BPR[4 P0u/Q1 B! B0Q}?P '1S 0[/BPR[ P0g/Q1 Bڴ! B0Qʸo?P 'x1S 0[/BPR[ XP0Y/Qx1 B|! B0XQʀa?P '@1S 0[/BPR[ P0K/Q@1 BD! B0 QHS?P '1S 0[/BPR[ P0 Q1 B ! B0QE?P j'0S 0[/BPR[ P0 Q0 B  B0Q0P H'0S 0[/BPR[z xP0 Q0 Bڜ  B0xQʠ0P &'`0S 0[/BPR[[ @P0L Q`0 Bd  B0@Qhl0P '(0S 0[/BPR[< P0 Q(0 B,  B0Q040P &(')j))q(c(U(G($(C(bt(<((@-@$0 ` S B `0 B $0(,0 4  0[/ P[0S, ,0  00($0@-S@ 0[/Bσ\R[ P0 Q$0 B(  B0Q(Pp@-@& $0PS 0[/ Q[q' 0R00S, 0,0   $ 0 ` C $ pI(9A-0g^@-00&&&z&n&b &V &J&&&&h&8%Vv4iU` 0P%WvW 'VvU 0P%WvW &VvU 0P%WvW &xV|vU 0P%WxvW & &lg>P %\P0P&4P %]&<P %Y^P0P&P %V&Y>P %R^P0P&TP %O&R>P %K^P0P&P % &K>P %]P0P&tP %A&<=P %_0P&P z%:&=>P s%&?P l%3&\6>P e%3S 0[/BPR[ P/0Q3 B # B0Q$?P C% ^&/>P <%W&?P 5%%P&| =P .%I&D?P '%B& !>P %j;&v?P %4&>P %N-&dZ?P %$1S 0[/BPR[7 P.0Q$1 B(! B0Q,>P $&0P $%0P $PpU% P$0S 0[/BPR[  0$R㏊(0 0C Q,00P 8P$WpW %xP|pU% P$0S 0[/BPR[  0$R㏊(0 0C Q,00P 8P$WxpW %lPppU% P$0S 0[/BPR[  0$R㏊(0 0C Q,00Pu 8PX$WlpW V%`PdpU% P$0S 0[/BPR[k  0$R㏊(0 0C Q,00PC 8P*$W`pW (%TPXpU% P$0S 0[/BPR[:  0$R㏊(0 0C Q,00P 8P#WTpW $0000)&8PW8PW8PWg8PW5W8PW%& &%%_%.%m %광Xtp@-P@T s$p@o$p0@-0@0t0$0P #<$hl0P #$040P #y%̃p0@-0@X0t0$0P #<$hl0P #$040P y#Z%Pp0@-0@D0t0$0P h#<$hl0P a#|$040P Z#;%Ԃ2PO-M0 D00$0 C\0@p  C`0 L "D<PD @TL t|00 04080D0H0P0T0X0l0p0|0000000x 0N0_#LP Z#넰P U#P @D0 @02%X1 0D00$ $$$\;, ,,0P` 唞(0%'C 00z[zzwz`0T, 0`0`zQ 0zzwzp000Ѝ,,0 P$'(6#P0@-0@00#0P "t#0P "<#hl0P "#040P "h$0@-0@001#o?P v"U#a?P o"G#HS?P h"#E?P a"|#0P Z"tu#0P S"<n#hl0P L"g#040P E"&$ 41@-0@l01V#(?P 4"qO#}?P -"cH#o?P &"UA#a?P "G:#HS?P "3#E?P ",#0P "t%#0P "<#hl0P !#040P !#~l1@-0@0l2#?P !"`?P !"(?P !q"}?P !c"o?P !U"a?P !G"HS?P !"E?P !"0P !t"0P !<"hl0P !"040P !x#|O-PM2\0@ LX00$0`|P CD0 LpP< T"Dt崠 L 00 04080D0H0P0T0X0l0p0|00000000@xPP尠0 !LP !넰P !0P  000r#P1 0X00X" P 7! R"x0P 0!K"@0P )! # X0P 0z jzzwXzwzX, ,@,0`p0 @z Qjzzwzwz0zzzwzЍPY"<{zO-@ -Pp M M'e5=(n(a" ]` +A= A=!0 a>DP,`堑1 `"΍e 5͍ "y^PP;L  @0 N0 L Al74 B|0 D"DǍpD480Q''77777777777788888,8088ȍ (p<8@8 < t  08=<͍"9t007K"<I"G"<"W,&z<6  $0 P A͍UA͍ fL B@ pCq@ 40z<0A`p80 AX0j @zQ$@P0@zw` 000@zgzpj z zwzgzzjzwzgzzjzwzgzA=`A=040z0 D`>0,@ f(P5= N  >0fk 5=  fn?015=  >0jd >0fz 5= u f?415= " >0hf >0f 5=% Y f?815= ) >0lJ >0f 5=  = f?`15=   >0t. >0f 5=3 tp f5͍? <17> ΍0 fύ 5: p  f5> / @! ӞfA 5A  f5En E. ӞD! Ta΍L5 0 ᯞ 5 J  h~ p0v  5}JL 5}p ~  Q~ p0_  5}JL 5}p ~  p:΍ 0H  5͍JL 5͍ ΍  # 0@,4 ΍+  5͍LJ 5͍ ΍ x  J L5 0 5  a  wv8jhPfDP>0,`oe(@5=  $ %e5=r K >0 (>0ev 5=O\ e5= R >0 xe=0H1 5= >0 Ve5=O Y >0 |eS>0L1 5=S >0 ]e5=V  >0 eZ>0P1 5=Z >0 X ,0+S۔ ۷ `2!- p0P01010rD1H|!x101|AHL0 ⏊Lxx及0P8及 T8X8l8p8|888888888888888t4xDl|888999$9(90xx及90 9I <FtC@0J ,<=08=300H8t<x40P |QN@x,00Ǎ000ɍD 0 ʍQʍ΍ LXQ4Y  HH 5͍ 5͍΍b0,0dD40Lȍ05a xQ 05j|aWH0YH Z    60,04D0 0L805|HW 05H0Y Z     @6 D| 04yly00⏊I090㏊ 89⏊ <9Wτ@9^T9X9d9h9p9t9x99999999999\), `)< )d )t ) )e/9a9999: :::: :4:8:D:H:P:T:X:l:p:|:yyz及Ꮚ  < C@ Gt Qx D:::::::::::::::U?Lzzz及 :_?⏊c/:m?*:&4^"dl^^^ E^hS^a^ 0PDJ ,<=08=ʟ0 Z(0<0S ڬ3 "H0pl0! 1(@P R  Z(080S0D0> 0l0; 00>040> 011=00> 080>0 1> 00>0<02= 01>003= 0@03=01> 00 <00> 01>00000201 L0 0及(z4{ ⏊0;及 ;;˷; ;,;0;8;<;@;T;X;d;h;p;t;x;;;$4(D\l`|l;;;;;;;;;;;;;< <<<< <4<8 00,2R00[,3R<@3S= ,#< =  $3` #=0 - C1 J ,ډ<=08=ʉI1l0:/ 0P <S 0[/BPR[  ,0@R, B<0Q 0P <S 0[/BPR[ ,0<R, B¨<0Qʰ 0P p<S 0[/BPR[ P,08Rt, Bp<0PQx 0P 8<S 0[/BPR[ ,04R<, B8<0Q@ 0P <S 0[/BPR[ +0lR, B<0Q 0P h;S 0[/BPR[ +0R㏊0;+ B0Q 0P G;S 0[/BPR[z p+0R㏊0;+ B0pQʘ 0P &X;S 0[/BPR[\ 8+L0R㏊0X;\+ B08Q` l0P  ;S 0[/BPR[> +00R$+ B ;0Q( 40P  $!tK(!pG@ \!T@(0"RH  kk,0,R0TG00"01h00 00dPL03P ʟT0,3X0p7\07`000002gR8G0A=⨀p尐@j< ,0X `0 !T00#\ "d\,h $`  p@jJZJ p$pZz@jZ $pZZ zzzzN zzz Szez7z^Z\zwzgZuzz'<0 00H0 P00L 00000`P0P0@A=⨀p尐 x |@ X! !5] P<} t} ⏊8-. 6P >. 0 0:-⏊H @L 0@ $0΍0d @=⏊=M5- T\@ @n`D=NH=@\=`=l=p=x=|====d-.h Ph . -.= =======-. ====>>>> >$>(><>@>L>P>X>X\>`>t>x>>}}QE~及 ΍ . ⏊ `及.H dD.. >|.>>>>>>>>> >>>>>???? ?,?T~~~及.h . 及⏊;- ., $/0?8? 00L@-4R<=ʌ4Sʔ$@=HD h=  x4$S \`- E 0[/ Q[>00!x-4Rt=4S$x=| =  $H5-SH   B 0[/ Q[> 00-4R=4S$%= =  %|T5-SL   B 0[/ Q[>00-05R=~45S{<\%8= >  T%L5.PST   B 0[/ Q[> 00 .h5R>Nl5SKt%p >($H>  %5@.S\  < B 0[/ Q[>00qX.5RT>ʤ5Sʬ%X>`\>  %P\3x.S  t B 0[/ Q[:= 00E.83R><3SDd#@>>  \#t3.XS   B 0[/ Q[;=00.p3R>t3S|#x>>  <3#S . F 0[/ Q[n `/3R>ʬ3Sʴ#?(?  #p4 /S   B 0[/ Q[>008/3R4?\3SY $8?@<`?  $@<4X/S  T B 0[/ Q[> 01p/4Rl?,4S)$D$ p?xt?  <$t4/8S$   B 0[/ Q[>01k/P4R?T4S\|$X??  ΍p$D t4J ,/  $?0, D*:W/<:R008= [?CPS[% /0㏊R?/ B0Q0P ?S 0[/BPR[ $0p/及0R?/ B0pQʘ0P X?S 0[/BPR[ 08/及0RX?\/ B08Q`0P  ?S 0[/BPR[ 0/及0R ?$/ B0Q(0P 0P >S 0[/BPR[ 0.及0R>. B0Qʸh0P wx>S 0[/BPR[ 0X.及0Rx>|. B0XQʀd0P V@>S 0[/BPR[q \0 .及0R@>D. B0 QH`0P 5>S 0[/BPR[S T0-及0R> . B0QX0P =S 0[/BPR[5 L0-及0R=- B0Q P0P =S 0[/BPR[ H0x-及0R=- B0xQʠ 0P `=S 0[/BPR[ @-0㏊R`=d- B0@Qh 0P D0,0D0Z(0D 80SFp1( p< pR(0!,0 !SXX~||zxxv\t(r$pTnljphftdtb`l^\hZXdVTRPNLލ Ѝ 0zw0z[ zgdz7z'<T\ XTpP|LNtHXDx@<8|4Z0*t,d(k<$ Zh+ lu  tʟ   ) Nl 'Ect<p1 JxQ5=a Z, 8m<5=Z P , 8m<&<6   4 L0PT &<8 C0@ H0sec,X][Y|WUxS\Q(O$MTKIGpECtAt?=l;9h75d31/- |0@-S@ 0[/Bσ\R[ 0S 0 B0Q00A-@TpX`W P,008PP UXp`pd`W P,008PP Vdplpp`W P,008PP Vppxp|`W P,008PP V|p Nj% 3: KRVY]xv|fW P0PqV|vvfW P0PfVvvfW P0P[VvvfW P0PPVvjpmm jsgvdya ^[XU" ROAKVqzV^gV;DVHQpO-` @P<: 0"D0( *00 E΄6 8 T0SX0K\0\`0d0h03l03Cp03t0ÿCx0|00000000000000000 !8!0011 1D F 1$10141<1@1D1R TX1\1h1l1t1x1|1` b1B(,`Zd^1p!!!11111n p1111111| ~22222 2$2 82vz! "<2"P""H2L2T2X2\2 p2t222222 2222222 2@Dx |)2/ $X6\""0#22233 33(3,34383<3 P3T3`3d3l3p3t3 337=>Bh###33333 3333333 334 4444 NA0444$@4D4L4P4T48< 9>8 90(0,0P0 0@ 0000P@ [/ Q[[/Bσ\R[ pBt9+4 0 0R @T QA>p2/7O-` - X@˰\P`pABCD۰EM @PP0,8<@p PP"DT0E΄X0 \0S`0Zd0a( *m~h0\l0jp0t0x0|00000000(˄ ۄ00000006 8000011 1D F 1$10141<1@1D1R T !B(,X18!p!!\1h1l1t1x1|1` b1111111n p1111111| ~`Zd^vz2!"P"2222 2$2 82<2H2L2T2X2\2 p2t222222 ! "@Dx |)2"""222222 2222233 33(3,34383<3 / $P3X6\7=0#h##T3`3d3l3p3t3 3333333 3333333 3>B#34 4444 AA8<G$0444@4D4L4P4T4 s΄tEpIH$h4l4x4|4444 A4KN$444444 v$4444444 AORU$55 5$5,50545 yH5TSPW(%L5X5\5d5h5l5 AVY`%5555555 Z^%5555555 A]5c%566 666 킞4a0e+;&(6,686<6D6H6L6 A@&-`6 d6p6t6x6|666h&g.l&.66666666+;k666666vȆ+;n~666677v"}V+;q^77 7$7(W^,DŽ4707+;̈́XDŽ΄H7L7P7T7d7`7\+;wx7|77777z+;}777777㼧+;777777+;8 888$8 8+;88<8@8D8T8P8HL(+;.h8l8p8t888x|x+;#}8X88888+;888888xȄ+; )889999 0@ 0000P@ [/ Q[[/Bσ\R[  t0 0R @T   2/ Bp.,!Q/O-鷭`ۦK0 M0C1QPP0RD \@C    C80( $   HP @8a) Ѝ0$)$@p`F1 0BSt: Q0 008S0!0t PD 000 ``VC     C80( $   HC U> @ , 8P,0X8@  $  $0 b S A b A0$0 0`4`( , 0[/ Q[0S`Z 8P8@XT [ ,008@P 8 XX 6 0800嚹+ ЍX _ PT 8P @ S 0S  80))0Y   / 800 @XA-=P6Kp- G!Q2+*80Q%U' P`@$0S 0[/BPR[  0$R㏊(0 0C Q,008@P WPWPAA O-@: p:JM G A PB"S  S00   0 S d ( I, ( $0  0[/ Q[ R$ $0  Z@1 ` $ 0`$0Z0@  $ f0S D  ( 0,( $  0[/ Q[0S" 0`0@Z0Z@0 ` $ 0P$0W0@  $ ( 0S e$ ,`(`0 D  0[/ Q[ R` 0P0@W[ P 0PU[ @00ЍU5U5@RQR000 Q 00 000E00 h" PTV  0S 0S  J  PTE 0P0P@  @ X@ X 0@PA-5 Pp@` $ 0P$0W0@  $ e0( S D0,`(` $  0[/ Q[0S`V 0P0@W@X 0Y. O-@ - CMM͍^0 P5 00}1S0SS !2 0PR ;|0@= "d5 \%0 . # !1R S0RQ @0Sc (Q~ xV: |f:J@ FB"Q *00Q%V @0@V(@|V& fJ0FC2Q : 0P$%V @0@V(@V& fJ0FC2Qs : 0P$%V @0@V(@V& fJ0FC2QX : xˍ1K  00@ 2@4  ˍ1  00 2@4 11@0SO => 00& 3*3&P8 b0@S @@(0 $,( 0[σ\[0S# $ $0  3003 0+ 40 2@4(CST 0@LUSU _j> 1 | Pm> 1 H< 1 @s> 1 8v> 1 0y> 1 (= 1  > 1 > 1 > 1 "= 1 > 1 (0Se=>` 0:>aL$0pP o@\,\YT(0PpSKxƛ0@$ 0č   @A Í @č EP0č   @A Í @č x0 R0S}@0S 0$ č  A @ Í @č0pč  A @sÍ @č pᤃ7ƛA 0AI   tÍÍc @ꋍpÍ @( Í&؄ t##+  @pAA.(0I c @sꋍÍ >&(P˷3»0L001LX0P06圆 p0h0 0Rt\@-  R0B Sf"Q0*cQ `0P SH d$ b  R 0R  0R00œRQ4 X@ 0p!t1Dx!|1!1!13P [\0 0D 0P!T1X!\1`!d1h!l1 A\0".@|p@d` HJ ;d%;0 d h0@0c < 00 0,0 0ččP YUdP`NLJ CލЍ PQHLhP0 01 D 0 čT0 čM0P(S1C$ Ǚ0 = P0  `   P0  d  $2PHS1CD"kP0 0 (-{Z p;P j x;0 ;j ;0< ;j+ ;0@ ;j. ;0D ;j1 ;0H  =00 ;j;0 ;j7΍ ;0 ( ;j: ;0 $ => 0 ;j;0 X 0tQ^p  A A N 0X 0tQ^p  A A  (X 0tQ^p  A A  $X 0tQ^p  A A   j  \^ I,0ۛS+ !-۷ږ H5 8 000 1@T00(0j  p08Pc > , 0pt Zn $(0HD@<xd`Z` P&\ tx600@H$`0 # ;0 PL 0 p !@ 2@#4 a0 PA x&6 @004; 0 0 2@4 0b A ˍ0(  X t!  @p @ ᠃S껍 ˍ A΍ A΍  @pÍ @Íˍ6  @ 0㠃! S껍tCC ˍ A΍ A΍ x&\`00  8(0 P(S1C$ NJ8P0 .\`0  p&0 8PpԠ0Ph  ؐ0 ` `0 d8P   8P P0   80P(S1C$ :0 p8 P0   8 P0 x  8 P0 <  8 P0 @ y 8 P0 D j 8} P0 H [ 8n2PS1C¤"0 p8v0P(S1C$ 0 p8gP(0S1C$ Ӱ0 p8U(P0 p8KP(y0S1C$ Ӕ0 p89P(8P0 p.0 lM  l0S ;ɋZ<0S0040P RɋZ8Yo0`P040 )) ʋl00f  @ , P0LpQtQZY P0 P<  0 p0 p1S1C´!  0 p0PP@ w 0PPD i |0PPH [ n0PP0 M `0PP( ? R0PP$ 1 D0PP # 60P P (0(S1C$ Nj 0 p00P P  0PP  0 \ڍ0 ɛ\0(S1C$ S 0 p(&0S1C$ A 0 p(7 0 p( 0S1C$ % 0 p( 0 p0 p@0P,I&Y 0SH:0䐍c B 9,D P0 pQtQgZ l>7636 6x365$344L2 P0 P E  X 0 ph0 pa0(S1C$ ǭ 0 p R0P P  -0PP0   D3hS1Cd#ǂ 0 p '0PP(   0PP$   0PP   0 \0(S1C$ C 0 p (0S1C$ 0 0 (& 0 p (0S1C$  0 (  0 p @0PB/ = Z ɋ000Z8Y400< 40Rʴ ,0 S{ʸT0p10^ t1LIɋ400J^T`0tq 2@paTq^ P1V OP 0pa 2@tT^ P1V BM0 dN01D 1&PO b0PS @P(0 $,( 0[σ\[0S$ $0  1001+ D0 1@4AQT 0@UQU 00$$V P0PVFi;\0@"t6 |&0 @0S ; 01$Qi @"6 &0 (Q;0@/(7 0'0 (l00S&P0MJxkgA(@qiD Di(@ D(@w;0@j!.7 '0 [P 002J00- 4R P3p 0$.(,0*H(D&@$<"x d` 8^  OFG D.O-@-`PğPp [M(0$P " PZ PP00*9P0 00P0S0SS,x 0 PR `#3 0 P 0R S0R@0S(QT(`(l(x(| TP0`  00@2H0 `0  0 0@2H0 }x0lsx0xo@@0SPx0ex0ax0 ]x0NYx0Ux0jQx0Mx0Ix0%Ex0Ax0 =x09x035x01x0:-x0)x0A%x0  x0 x0Kx0Ox0Rx0V x0Yx0]x0 x0 (0S01H00H1Lp0@P o@d20/1(0 P S280T A 2 J@ 0` A  2@T0@ 0 QpQmlR (0 T0x 0 (0@ T0 0 (00 A 2@w0 xP2 A P@e 0P 0l @ 4K  0D`2> @ B D  x0  @  4K 0D`2> @ B D (R4lL 8P 0`/2 %!1! 1!1wp (P8x PE 0`%2 /L!1! 1!1] (00C 0@ 0 0lS01L0HH0孻30Pl0  @2  0! D`4 > @ B D %x0  00 @2 D`! 4Đ > @ B D l 8Px` Tp0 PXlL T 8E 0 0( @2 p0@ 0b L H Tx 0  H 0( 2 @ `  n@ T 0 P PH 0( 2 @ `  Tk^x <<: 86,0S[ߍ %"$%L#& &#&&$'/8P!1! 1!101L  _`2 %0u (00C 0lp^xlJPp|f` e1 0 @0S= ` x0 Qi `t!1 0 (Q#`!1 0 (0 03 .$[ߍx070C@ 0g`|z"2 0 j_   P 0 P ,0S4 $1 0R P0C@ 0/6 SQ,0S $h00c8@c$T 8@DA8000c8@c$T 8@D0@-N2cv6detail8PtrOwnerEN2cv20BackgroundSubtractorEN2cv23BackgroundSubtractorKNNEN2cv6detail12PtrOwnerImplINS_27BackgroundSubtractorKNNImplENS_14DefaultDeleterIS2_EEEEreadoperator<<operator<<applygetBackgroundImagevirtual void cv::BackgroundSubtractorKNNImpl::getBackgroundImage(cv::OutputArray) constvirtual void cv::BackgroundSubtractorKNNImpl::apply(cv::InputArray, cv::OutputArray, double)N2cv27BackgroundSubtractorKNNImplEname(String)fn["name"] == name_/home/hisilicon/OpenCV3.3/sources/modules/video/src/bgfg_KNN.cpphistorynsamplesnKNNdist2ThresholddetectShadowsshadowValueshadowThresholdNo element name has been given/home/hisilicon/OpenCV3.3/sources/modules/core/include/opencv2/core/persistence.hpplearningRate >= 0BackgroundSubtractor.KNNvoid cv::BackgroundSubtractorMOG2Impl::getBackgroundImage_intern(cv::OutputArray) const [with T = float; int CN = 3; cv::OutputArray = const cv::_OutputArray&]void cv::BackgroundSubtractorMOG2Impl::getBackgroundImage_intern(cv::OutputArray) const [with T = float; int CN = 1; cv::OutputArray = const cv::_OutputArray&]void cv::BackgroundSubtractorMOG2Impl::getBackgroundImage_intern(cv::OutputArray) const [with T = unsigned char; int CN = 3; cv::OutputArray = const cv::_OutputArray&]void cv::BackgroundSubtractorMOG2Impl::getBackgroundImage_intern(cv::OutputArray) const [with T = unsigned char; int CN = 1; cv::OutputArray = const cv::_OutputArray&]N2cv24BackgroundSubtractorMOG2EN2cv11MOG2InvokerEN2cv6detail12PtrOwnerImplINS_28BackgroundSubtractorMOG2ImplENS_14DefaultDeleterIS2_EEEEreadoperator<<operator<<operator<<Matocl_applysetDetectShadowsinitializeapplygetBackgroundImagevirtual void cv::BackgroundSubtractorMOG2Impl::apply(cv::InputArray, cv::OutputArray, double)N2cv28BackgroundSubtractorMOG2ImplE!kernel_apply.empty()/home/hisilicon/OpenCV3.3/sources/modules/video/src/bgfg_gaussmix2.cppnmixturesbackgroundRatiovarThresholdvarThresholdGenvarInitvarMinvarMaxcomplexityReductionThresholdtotal() == 0 || data != __null/home/hisilicon/OpenCV3.3/sources/modules/core/include/opencv2/core/mat.inl.hpp -D SHADOW_DETECT-D CN=%d -D FL=%d -D NMIXTURES=%d%smog2_kernelnmixtures <= 255-D CN=%d -D FL=%d -D NMIXTURES=%dgetBackgroundImage2_kernelBackgroundSubtractor.MOG2frameType == (((0) & ((1 << 3) - 1)) + (((1)-1) << 3)) || frameType == (((0) & ((1 << 3) - 1)) + (((3)-1) << 3)) || frameType == (((5) & ((1 << 3) - 1)) + (((1)-1) << 3)) || frameType == (((5) & ((1 << 3) - 1)) + (((3)-1) << 3))meanShiftcv::RotatedRect cv::CamShift(cv::InputArray, cv::Rect&, cv::TermCriteria)int cv::meanShift(cv::InputArray, cv::Rect&, cv::TermCriteria)cn == 1/home/hisilicon/OpenCV3.3/sources/modules/video/src/camshift.cppInput window has non-positive sizescvCreateKalmancvReleaseKalmancvKalmanPredictcvKalmanCorrectcvCalcOpticalFlowPyrLKMatcvCalcOpticalFlowFarnebackstate and measurement vectors must have positive number of dimensions/home/hisilicon/OpenCV3.3/sources/modules/video/src/compat_video.cppfeaturesA && featuresBflow.size() == prev.size() && flow.type() == (((5) & ((1 << 3) - 1)) + (((2)-1) << 3))project_onto_jacobian_ECCimage_jacobian_affine_ECCimage_jacobian_euclidean_ECCimage_jacobian_homo_ECCfindTransformECCimage_jacobian_translation_ECCupdate_warping_matrix_ECCsrc1.rows == src2.rows/home/hisilicon/OpenCV3.3/sources/modules/video/src/ecc.cpp(src1.cols % src2.cols) == 0dst.cols == dst.rowssrc1.size() == src2.size()src1.size() == src3.size()src1.size() == src4.size()src1.rows == dst.rowsdst.cols == (6*src1.cols)dst.type() == (((5) & ((1 << 3) - 1)) + (((1)-1) << 3))src1.size()==src2.size()src1.size()==src3.size()src1.size()==src4.size()dst.cols == (src1.cols*3)src5.isContinuous()dst.cols == (src1.cols*8)!src.empty()!dst.empty()Both input images must have the same data typeImages must have 8uC1 or 32fC1 typewarpMatrix must be single-channel floating-point matrixmap.cols == 3map.rows == 2 || map.rows ==3motionType == MOTION_AFFINE || motionType == MOTION_HOMOGRAPHY || motionType == MOTION_EUCLIDEAN || motionType == MOTION_TRANSLATIONmap.rows ==3criteria.type & TermCriteria::COUNT || criteria.type & TermCriteria::EPSdst.cols == (src1.cols*2)NaN encountered.The algorithm stopped before its convergence. The correlation is going to be minimized. Images may be uncorrelated or non-overlappedmap_matrix.type() == (((5) & ((1 << 3) - 1)) + (((1)-1) << 3))update.type() == (((5) & ((1 << 3) - 1)) + (((1)-1) << 3))motionType == MOTION_TRANSLATION || motionType == MOTION_EUCLIDEAN || motionType == MOTION_AFFINE || motionType == MOTION_HOMOGRAPHYmap_matrix.rows == 3 && update.rows == 8map_matrix.rows == 2 && update.rows == 6map_matrix.rows == 2 && update.rows == 3map_matrix.rows == 2 && update.rows == 2update.cols == 1map_matrix.isContinuous()update.isContinuous()initconst cv::Mat& cv::KalmanFilter::correct(const cv::Mat&)const cv::Mat& cv::KalmanFilter::predict(const cv::Mat&)DP > 0 && MP > 0/home/hisilicon/OpenCV3.3/sources/modules/video/src/kalman.cpptype == 5 || type == 6N2cv17SparseOpticalFlowEN2cv22SparsePyrLKOpticalFlowEcalcSharrDerivMatoperator()buildOpticalFlowPyramidlkSparse_runcalcMatestimateRigidTransformgetRTMatrixcv::Mat cv::estimateRigidTransform(cv::InputArray, cv::InputArray, bool)virtual void cv::{anonymous}::SparsePyrLKOpticalFlowImpl::calc(cv::InputArray, cv::InputArray, cv::InputArray, cv::InputOutputArray, cv::OutputArray, cv::OutputArray)int cv::buildOpticalFlowPyramid(cv::InputArray, cv::OutputArrayOfArrays, cv::Size, int, bool, int, int, bool)virtual void cv::detail::LKTrackerInvoker::operator()(const cv::Range&) constN2cv6detail16LKTrackerInvokerE*N2cv12_GLOBAL__N_126SparsePyrLKOpticalFlowImplE*N2cv6detail12PtrOwnerImplINS_12_GLOBAL__N_126SparsePyrLKOpticalFlowImplENS_14DefaultDeleterIS3_EEEEvector::_M_default_appenddepth == 0/home/hisilicon/OpenCV3.3/sources/modules/video/src/lkpyramid.cppstatus != __nullimg.depth() == 0 && winSize.width > 2 && winSize.height > 2lkSparse -D CPU-D WAVE_SIZE=%d -D WSX=%d -D WSY=%dI.depth() == 5 && J.depth() == 5maxLevel >= 0 && winSize.width > 2 && winSize.height > 2(npoints = prevPtsMat.checkVector(2, 5, true)) >= 0nextPtsMat.checkVector(2, 5, true) == npointsstatusMat.isContinuous()errMat.isContinuous()levels1 >= 0ofs.x >= winSize.width && ofs.y >= winSize.height && ofs.x + prevPyr[lvlStep1].cols + winSize.width <= fullSize.width && ofs.y + prevPyr[lvlStep1].rows + winSize.height <= fullSize.heightlevels2 >= 0ofs.x >= winSize.width && ofs.y >= winSize.height && ofs.x + nextPyr[lvlStep2].cols + winSize.width <= fullSize.width && ofs.y + nextPyr[lvlStep2].rows + winSize.height <= fullSize.heightprevPyr[level * lvlStep1].size() == nextPyr[level * lvlStep2].size()prevPyr[level * lvlStep1].type() == nextPyr[level * lvlStep2].type()Both input images must have the same sizecn == 1 || cn == 3 || cn == 4Both input images must have either 8uC1 or 8uC3 typeM.isContinuous()N2cv16DenseOpticalFlowEN2cv20FarnebackOpticalFlowE)\>)\>f>f>f> operator()MatgaussianBlurOclcalcFarnebackPolyExpvirtual void cv::{anonymous}::FarnebackOpticalFlowImpl::calc(cv::InputArray, cv::InputArray, cv::InputOutputArray)void cv::calcOpticalFlowFarneback(cv::InputArray, cv::InputArray, cv::InputOutputArray, double, int, int, int, int, double, int)*N2cv12_GLOBAL__N_124FarnebackOpticalFlowImplE*N2cv6detail12PtrOwnerImplINS_12_GLOBAL__N_124FarnebackOpticalFlowImplENS_14DefaultDeleterIS3_EEEE-D polyN=%dpolynomialExpansionupdateMatricesframe0.channels() == 1 && frame1.channels() == 1/home/hisilicon/OpenCV3.3/sources/modules/video/src/optflowgf.cppframe0.size() == frame1.size()polyN_ == 5 || polyN_ == 7!fastPyramids_ || std::abs(pyrScale_ - 0.5) < 1e-6gaussianBlurdst.size() == src.size()gaussianBlur5updateFlowboxFilter5prev0.size() == next0.size() && prev0.channels() == next0.channels() && prev0.channels() == 1 && pyrScale_ < 1src.type() == (((5) & ((1 << 3) - 1)) + (((1)-1) << 3))N2cv19DualTVL1OpticalFlowEcalc_oclcalcvirtual void {anonymous}::OpticalFlowDual_TVL1::calc(cv::InputArray, cv::InputArray, cv::InputOutputArray)*N12_GLOBAL__N_120OpticalFlowDual_TVL1E*N12_GLOBAL__N_116BuildFlowMapBodyE*N12_GLOBAL__N_120CenteredGradientBodyE*N12_GLOBAL__N_119ForwardGradientBodyE*N12_GLOBAL__N_114DivergenceBodyE*N12_GLOBAL__N_115CalcGradRhoBodyE*N12_GLOBAL__N_113EstimateVBodyE*N12_GLOBAL__N_125EstimateDualVariablesBodyE*N2cv6detail12PtrOwnerImplIN12_GLOBAL__N_120OpticalFlowDual_TVL1ENS_14DefaultDeleterIS3_EEEEI0.type() == (((0) & ((1 << 3) - 1)) + (((1)-1) << 3)) || I0.type() == (((5) & ((1 << 3) - 1)) + (((1)-1) << 3))/home/hisilicon/OpenCV3.3/sources/modules/video/src/tvl1flow.cppI0.size() == I1.size()I0.type() == I1.type()!useInitialFlow || (_flow.size() == I0.size() && _flow.type() == (((5) & ((1 << 3) - 1)) + (((2)-1) << 3)))nscales > 0centeredGradientKernelwarpBackwardKernelestimateUKernelestimateDualVariablesKernelvideopyrlk#define GRIDSIZE 3 #define LSx 8 #define LSy 8 #define LM_W (LSx*GRIDSIZE+2) #define LM_H (LSy*GRIDSIZE+2) #define BUFFER (LSx*LSy) #define BUFFER2 BUFFER>>1 #ifndef WAVE_SIZE #define WAVE_SIZE 1 #endif #ifdef CPU inline void reduce3(float val1, float val2, float val3, __local float* smem1, __local float* smem2, __local float* smem3, int tid) { smem1[tid] = val1; smem2[tid] = val2; smem3[tid] = val3; barrier(CLK_LOCAL_MEM_FENCE); for(int i = BUFFER2; i > 0; i >>= 1) { if(tid < i) { smem1[tid] += smem1[tid + i]; smem2[tid] += smem2[tid + i]; smem3[tid] += smem3[tid + i]; } barrier(CLK_LOCAL_MEM_FENCE); } } inline void reduce2(float val1, float val2, volatile __local float* smem1, volatile __local float* smem2, int tid) { smem1[tid] = val1; smem2[tid] = val2; barrier(CLK_LOCAL_MEM_FENCE); for(int i = BUFFER2; i > 0; i >>= 1) { if(tid < i) { smem1[tid] += smem1[tid + i]; smem2[tid] += smem2[tid + i]; } barrier(CLK_LOCAL_MEM_FENCE); } } inline void reduce1(float val1, volatile __local float* smem1, int tid) { smem1[tid] = val1; barrier(CLK_LOCAL_MEM_FENCE); for(int i = BUFFER2; i > 0; i >>= 1) { if(tid < i) { smem1[tid] += smem1[tid + i]; } barrier(CLK_LOCAL_MEM_FENCE); } } #else inline void reduce3(float val1, float val2, float val3, __local volatile float* smem1, __local volatile float* smem2, __local volatile float* smem3, int tid) { smem1[tid] = val1; smem2[tid] = val2; smem3[tid] = val3; barrier(CLK_LOCAL_MEM_FENCE); if (tid < 32) { smem1[tid] += smem1[tid + 32]; smem2[tid] += smem2[tid + 32]; smem3[tid] += smem3[tid + 32]; #if WAVE_SIZE < 32 } barrier(CLK_LOCAL_MEM_FENCE); if (tid < 16) { #endif smem1[tid] += smem1[tid + 16]; smem2[tid] += smem2[tid + 16]; smem3[tid] += smem3[tid + 16]; #if WAVE_SIZE <16 } barrier(CLK_LOCAL_MEM_FENCE); if (tid<1) { #endif local float8* m1 = (local float8*)smem1; local float8* m2 = (local float8*)smem2; local float8* m3 = (local float8*)smem3; float8 t1 = m1[0]+m1[1]; float8 t2 = m2[0]+m2[1]; float8 t3 = m3[0]+m3[1]; float4 t14 = t1.lo + t1.hi; float4 t24 = t2.lo + t2.hi; float4 t34 = t3.lo + t3.hi; smem1[0] = t14.x+t14.y+t14.z+t14.w; smem2[0] = t24.x+t24.y+t24.z+t24.w; smem3[0] = t34.x+t34.y+t34.z+t34.w; } barrier(CLK_LOCAL_MEM_FENCE); } inline void reduce2(float val1, float val2, __local volatile float* smem1, __local volatile float* smem2, int tid) { smem1[tid] = val1; smem2[tid] = val2; barrier(CLK_LOCAL_MEM_FENCE); if (tid < 32) { smem1[tid] += smem1[tid + 32]; smem2[tid] += smem2[tid + 32]; #if WAVE_SIZE < 32 } barrier(CLK_LOCAL_MEM_FENCE); if (tid < 16) { #endif smem1[tid] += smem1[tid + 16]; smem2[tid] += smem2[tid + 16]; #if WAVE_SIZE <16 } barrier(CLK_LOCAL_MEM_FENCE); if (tid<1) { #endif local float8* m1 = (local float8*)smem1; local float8* m2 = (local float8*)smem2; float8 t1 = m1[0]+m1[1]; float8 t2 = m2[0]+m2[1]; float4 t14 = t1.lo + t1.hi; float4 t24 = t2.lo + t2.hi; smem1[0] = t14.x+t14.y+t14.z+t14.w; smem2[0] = t24.x+t24.y+t24.z+t24.w; } barrier(CLK_LOCAL_MEM_FENCE); } inline void reduce1(float val1, __local volatile float* smem1, int tid) { smem1[tid] = val1; barrier(CLK_LOCAL_MEM_FENCE); if (tid < 32) { smem1[tid] += smem1[tid + 32]; #if WAVE_SIZE < 32 } barrier(CLK_LOCAL_MEM_FENCE); if (tid < 16) { #endif smem1[tid] += smem1[tid + 16]; #if WAVE_SIZE <16 } barrier(CLK_LOCAL_MEM_FENCE); if (tid<1) { #endif local float8* m1 = (local float8*)smem1; float8 t1 = m1[0]+m1[1]; float4 t14 = t1.lo + t1.hi; smem1[0] = t14.x+t14.y+t14.z+t14.w; } barrier(CLK_LOCAL_MEM_FENCE); } #endif #define SCALE (1.0f / (1 << 20)) #define THRESHOLD 0.01f __constant sampler_t sampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP_TO_EDGE | CLK_FILTER_LINEAR; #define VAL(_y,_x,_yy,_xx) (IPatchLocal[mad24(((_y) + (_yy)), LM_W, ((_x) + (_xx)))]) inline void SetPatch(local float* IPatchLocal, int TileY, int TileX, float* Pch, float* Dx, float* Dy, float* A11, float* A12, float* A22, float w) { int xid=get_local_id(0); int yid=get_local_id(1); int xBase = mad24(TileX, LSx, (xid + 1)); int yBase = mad24(TileY, LSy, (yid + 1)); *Pch = VAL(yBase,xBase,0,0); *Dx = mad((VAL(yBase,xBase,-1,1) + VAL(yBase,xBase,+1,1) - VAL(yBase,xBase,-1,-1) - VAL(yBase,xBase,+1,-1)), 3.0f, (VAL(yBase,xBase,0,1) - VAL(yBase,xBase,0,-1)) * 10.0f) * w; *Dy = mad((VAL(yBase,xBase,1,-1) + VAL(yBase,xBase,1,+1) - VAL(yBase,xBase,-1,-1) - VAL(yBase,xBase,-1,+1)), 3.0f, (VAL(yBase,xBase,1,0) - VAL(yBase,xBase,-1,0)) * 10.0f) * w; *A11 = mad(*Dx, *Dx, *A11); *A12 = mad(*Dx, *Dy, *A12); *A22 = mad(*Dy, *Dy, *A22); } #undef VAL inline void GetPatch(image2d_t J, float x, float y, float* Pch, float* Dx, float* Dy, float* b1, float* b2) { float diff = read_imagef(J, sampler, (float2)(x,y)).x-*Pch; *b1 = mad(diff, *Dx, *b1); *b2 = mad(diff, *Dy, *b2); } inline void GetError(image2d_t J, const float x, const float y, const float* Pch, float* errval, float w) { float diff = ((((read_imagef(J, sampler, (float2)(x,y)).x * 16384) + 256) / 512) - (((*Pch * 16384) + 256) /512)) * w; *errval += fabs(diff); } #define READI(_y,_x) IPatchLocal[mad24(mad24((_y), LSy, yid), LM_W, mad24((_x), LSx, xid))] = read_imagef(I, sampler, (float2)(mad((float)(_x), (float)LSx, Point.x + xid - 0.5f), mad((float)(_y), (float)LSy, Point.y + yid - 0.5f))).x; void ReadPatchIToLocalMem(image2d_t I, float2 Point, local float* IPatchLocal) { int xid=get_local_id(0); int yid=get_local_id(1); READI(0,0);READI(0,1);READI(0,2); READI(1,0);READI(1,1);READI(1,2); READI(2,0);READI(2,1);READI(2,2); if(xid<2) { READI(0,3); READI(1,3); READI(2,3); } if(yid<2) { READI(3,0);READI(3,1);READI(3,2); } if(yid<2 && xid<2) { READI(3,3); } barrier(CLK_LOCAL_MEM_FENCE); } #undef READI __attribute__((reqd_work_group_size(LSx, LSy, 1))) __kernel void lkSparse(image2d_t I, image2d_t J, __global const float2* prevPts, __global float2* nextPts, __global uchar* status, __global float* err, const int level, const int rows, const int cols, int PATCH_X, int PATCH_Y, int c_winSize_x, int c_winSize_y, int c_iters, char calcErr) { __local float smem1[BUFFER]; __local float smem2[BUFFER]; __local float smem3[BUFFER]; int xid=get_local_id(0); int yid=get_local_id(1); int gid=get_group_id(0); int xsize=get_local_size(0); int ysize=get_local_size(1); int k; #ifdef CPU float wx0 = 1.0f; float wy0 = 1.0f; int xBase = mad24(xsize, 2, xid); int yBase = mad24(ysize, 2, yid); float wx1 = (xBase < c_winSize_x) ? 1 : 0; float wy1 = (yBase < c_winSize_y) ? 1 : 0; #else #if WSX == 1 float wx0 = 1.0f; int xBase = mad24(xsize, 2, xid); float wx1 = (xBase < c_winSize_x) ? 1 : 0; #else int xBase = mad24(xsize, 1, xid); float wx0 = (xBase < c_winSize_x) ? 1 : 0; float wx1 = 0.0f; #endif #if WSY == 1 float wy0 = 1.0f; int yBase = mad24(ysize, 2, yid); float wy1 = (yBase < c_winSize_y) ? 1 : 0; #else int yBase = mad24(ysize, 1, yid); float wy0 = (yBase < c_winSize_y) ? 1 : 0; float wy1 = 0.0f; #endif #endif float2 c_halfWin = (float2)((c_winSize_x - 1)>>1, (c_winSize_y - 1)>>1); const int tid = mad24(yid, xsize, xid); float2 prevPt = prevPts[gid] / (float2)(1 << level); if (prevPt.x < 0 || prevPt.x >= cols || prevPt.y < 0 || prevPt.y >= rows) { if (tid == 0 && level == 0) { status[gid] = 0; } return; } prevPt -= c_halfWin; float A11 = 0; float A12 = 0; float A22 = 0; float I_patch[GRIDSIZE][GRIDSIZE]; float dIdx_patch[GRIDSIZE][GRIDSIZE]; float dIdy_patch[GRIDSIZE][GRIDSIZE]; local float IPatchLocal[LM_W*LM_H]; ReadPatchIToLocalMem(I,prevPt,IPatchLocal); { SetPatch(IPatchLocal, 0, 0, &I_patch[0][0], &dIdx_patch[0][0], &dIdy_patch[0][0], &A11, &A12, &A22,1); SetPatch(IPatchLocal, 0, 1, &I_patch[0][1], &dIdx_patch[0][1], &dIdy_patch[0][1], &A11, &A12, &A22,wx0); SetPatch(IPatchLocal, 0, 2, &I_patch[0][2], &dIdx_patch[0][2], &dIdy_patch[0][2], &A11, &A12, &A22,wx1); } { SetPatch(IPatchLocal, 1, 0, &I_patch[1][0], &dIdx_patch[1][0], &dIdy_patch[1][0], &A11, &A12, &A22,wy0); SetPatch(IPatchLocal, 1,1, &I_patch[1][1], &dIdx_patch[1][1], &dIdy_patch[1][1], &A11, &A12, &A22,wx0*wy0); SetPatch(IPatchLocal, 1,2, &I_patch[1][2], &dIdx_patch[1][2], &dIdy_patch[1][2], &A11, &A12, &A22,wx1*wy0); } { SetPatch(IPatchLocal, 2,0, &I_patch[2][0], &dIdx_patch[2][0], &dIdy_patch[2][0], &A11, &A12, &A22,wy1); SetPatch(IPatchLocal, 2,1, &I_patch[2][1], &dIdx_patch[2][1], &dIdy_patch[2][1], &A11, &A12, &A22,wx0*wy1); SetPatch(IPatchLocal, 2,2, &I_patch[2][2], &dIdx_patch[2][2], &dIdy_patch[2][2], &A11, &A12, &A22,wx1*wy1); } reduce3(A11, A12, A22, smem1, smem2, smem3, tid); A11 = smem1[0]; A12 = smem2[0]; A22 = smem3[0]; barrier(CLK_LOCAL_MEM_FENCE); float D = mad(A11, A22, - A12 * A12); if (D < 1.192092896e-07f) { if (tid == 0 && level == 0) status[gid] = 0; return; } A11 /= D; A12 /= D; A22 /= D; prevPt = mad(nextPts[gid], 2.0f, - c_halfWin); float2 offset0 = (float2)(xid + 0.5f, yid + 0.5f); float2 offset1 = (float2)(xsize, ysize); float2 loc0 = prevPt + offset0; float2 loc1 = loc0 + offset1; float2 loc2 = loc1 + offset1; for (k = 0; k < c_iters; ++k) { if (prevPt.x < -c_halfWin.x || prevPt.x >= cols || prevPt.y < -c_halfWin.y || prevPt.y >= rows) { if (tid == 0 && level == 0) status[gid] = 0; break; } float b1 = 0; float b2 = 0; { GetPatch(J, loc0.x, loc0.y, &I_patch[0][0], &dIdx_patch[0][0], &dIdy_patch[0][0], &b1, &b2); GetPatch(J, loc1.x, loc0.y, &I_patch[0][1], &dIdx_patch[0][1], &dIdy_patch[0][1], &b1, &b2); GetPatch(J, loc2.x, loc0.y, &I_patch[0][2], &dIdx_patch[0][2], &dIdy_patch[0][2], &b1, &b2); } { GetPatch(J, loc0.x, loc1.y, &I_patch[1][0], &dIdx_patch[1][0], &dIdy_patch[1][0], &b1, &b2); GetPatch(J, loc1.x, loc1.y, &I_patch[1][1], &dIdx_patch[1][1], &dIdy_patch[1][1], &b1, &b2); GetPatch(J, loc2.x, loc1.y, &I_patch[1][2], &dIdx_patch[1][2], &dIdy_patch[1][2], &b1, &b2); } { GetPatch(J, loc0.x, loc2.y, &I_patch[2][0], &dIdx_patch[2][0], &dIdy_patch[2][0], &b1, &b2); GetPatch(J, loc1.x, loc2.y, &I_patch[2][1], &dIdx_patch[2][1], &dIdy_patch[2][1], &b1, &b2); GetPatch(J, loc2.x, loc2.y, &I_patch[2][2], &dIdx_patch[2][2], &dIdy_patch[2][2], &b1, &b2); } reduce2(b1, b2, smem1, smem2, tid); b1 = smem1[0]; b2 = smem2[0]; barrier(CLK_LOCAL_MEM_FENCE); float2 delta; delta.x = mad(A12, b2, - A22 * b1) * 32.0f; delta.y = mad(A12, b1, - A11 * b2) * 32.0f; prevPt += delta; loc0 += delta; loc1 += delta; loc2 += delta; if (fabs(delta.x) < THRESHOLD && fabs(delta.y) < THRESHOLD) break; } D = 0.0f; if (calcErr) { { GetError(J, loc0.x, loc0.y, &I_patch[0][0], &D, 1); GetError(J, loc1.x, loc0.y, &I_patch[0][1], &D, wx0); } { GetError(J, loc0.x, loc1.y, &I_patch[1][0], &D, wy0); GetError(J, loc1.x, loc1.y, &I_patch[1][1], &D, wx0*wy0); } if(xBase < c_winSize_x) { GetError(J, loc2.x, loc0.y, &I_patch[0][2], &D, wx1); GetError(J, loc2.x, loc1.y, &I_patch[1][2], &D, wx1*wy0); } if(yBase < c_winSize_y) { GetError(J, loc0.x, loc2.y, &I_patch[2][0], &D, wy1); GetError(J, loc1.x, loc2.y, &I_patch[2][1], &D, wx0*wy1); if(xBase < c_winSize_x) GetError(J, loc2.x, loc2.y, &I_patch[2][2], &D, wx1*wy1); } reduce1(D, smem1, tid); } if (tid == 0) { prevPt += c_halfWin; nextPts[gid] = prevPt; if (calcErr) err[gid] = smem1[0] / (float)(32 * c_winSize_x * c_winSize_y); } } bb795566482a0fd9c80aabca645bf9eeoptical_flow_tvl1__kernel void centeredGradientKernel(__global const float* src_ptr, int src_col, int src_row, int src_step, __global float* dx, __global float* dy, int d_step) { int x = get_global_id(0); int y = get_global_id(1); if((x < src_col)&&(y < src_row)) { int src_x1 = (x + 1) < (src_col -1)? (x + 1) : (src_col - 1); int src_x2 = (x - 1) > 0 ? (x -1) : 0; dx[y * d_step+ x] = 0.5f * (src_ptr[y * src_step + src_x1] - src_ptr[y * src_step+ src_x2]); int src_y1 = (y+1) < (src_row - 1) ? (y + 1) : (src_row - 1); int src_y2 = (y - 1) > 0 ? (y - 1) : 0; dy[y * d_step+ x] = 0.5f * (src_ptr[src_y1 * src_step + x] - src_ptr[src_y2 * src_step+ x]); } } inline float bicubicCoeff(float x_) { float x = fabs(x_); if (x <= 1.0f) return x * x * (1.5f * x - 2.5f) + 1.0f; else if (x < 2.0f) return x * (x * (-0.5f * x + 2.5f) - 4.0f) + 2.0f; else return 0.0f; } __kernel void warpBackwardKernel(__global const float* I0, int I0_step, int I0_col, int I0_row, image2d_t tex_I1, image2d_t tex_I1x, image2d_t tex_I1y, __global const float* u1, int u1_step, __global const float* u2, __global float* I1w, __global float* I1wx, __global float* I1wy, __global float* grad, __global float* rho, int I1w_step, int u2_step, int u1_offset_x, int u1_offset_y, int u2_offset_x, int u2_offset_y) { int x = get_global_id(0); int y = get_global_id(1); if(x < I0_col&&y < I0_row) { float u1Val = u1[(y + u1_offset_y) * u1_step + x + u1_offset_x]; float u2Val = u2[(y + u2_offset_y) * u2_step + x + u2_offset_x]; float wx = x + u1Val; float wy = y + u2Val; int xmin = ceil(wx - 2.0f); int xmax = floor(wx + 2.0f); int ymin = ceil(wy - 2.0f); int ymax = floor(wy + 2.0f); float sum = 0.0f; float sumx = 0.0f; float sumy = 0.0f; float wsum = 0.0f; sampler_t sampleri = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP_TO_EDGE | CLK_FILTER_NEAREST; for (int cy = ymin; cy <= ymax; ++cy) { for (int cx = xmin; cx <= xmax; ++cx) { float w = bicubicCoeff(wx - cx) * bicubicCoeff(wy - cy); int2 cood = (int2)(cx, cy); sum += w * read_imagef(tex_I1, sampleri, cood).x; sumx += w * read_imagef(tex_I1x, sampleri, cood).x; sumy += w * read_imagef(tex_I1y, sampleri, cood).x; wsum += w; } } float coeff = 1.0f / wsum; float I1wVal = sum * coeff; float I1wxVal = sumx * coeff; float I1wyVal = sumy * coeff; I1w[y * I1w_step + x] = I1wVal; I1wx[y * I1w_step + x] = I1wxVal; I1wy[y * I1w_step + x] = I1wyVal; float Ix2 = I1wxVal * I1wxVal; float Iy2 = I1wyVal * I1wyVal; grad[y * I1w_step + x] = Ix2 + Iy2; float I0Val = I0[y * I0_step + x]; rho[y * I1w_step + x] = I1wVal - I1wxVal * u1Val - I1wyVal * u2Val - I0Val; } } inline float readImage(__global const float *image, int x, int y, int rows, int cols, int elemCntPerRow) { int i0 = clamp(x, 0, cols - 1); int j0 = clamp(y, 0, rows - 1); return image[j0 * elemCntPerRow + i0]; } __kernel void warpBackwardKernelNoImage2d(__global const float* I0, int I0_step, int I0_col, int I0_row, __global const float* tex_I1, __global const float* tex_I1x, __global const float* tex_I1y, __global const float* u1, int u1_step, __global const float* u2, __global float* I1w, __global float* I1wx, __global float* I1wy, __global float* grad, __global float* rho, int I1w_step, int u2_step, int I1_step, int I1x_step) { int x = get_global_id(0); int y = get_global_id(1); if(x < I0_col&&y < I0_row) { float u1Val = u1[y * u1_step + x]; float u2Val = u2[y * u2_step + x]; float wx = x + u1Val; float wy = y + u2Val; int xmin = ceil(wx - 2.0f); int xmax = floor(wx + 2.0f); int ymin = ceil(wy - 2.0f); int ymax = floor(wy + 2.0f); float sum = 0.0f; float sumx = 0.0f; float sumy = 0.0f; float wsum = 0.0f; for (int cy = ymin; cy <= ymax; ++cy) { for (int cx = xmin; cx <= xmax; ++cx) { float w = bicubicCoeff(wx - cx) * bicubicCoeff(wy - cy); int2 cood = (int2)(cx, cy); sum += w * readImage(tex_I1, cood.x, cood.y, I0_col, I0_row, I1_step); sumx += w * readImage(tex_I1x, cood.x, cood.y, I0_col, I0_row, I1x_step); sumy += w * readImage(tex_I1y, cood.x, cood.y, I0_col, I0_row, I1x_step); wsum += w; } } float coeff = 1.0f / wsum; float I1wVal = sum * coeff; float I1wxVal = sumx * coeff; float I1wyVal = sumy * coeff; I1w[y * I1w_step + x] = I1wVal; I1wx[y * I1w_step + x] = I1wxVal; I1wy[y * I1w_step + x] = I1wyVal; float Ix2 = I1wxVal * I1wxVal; float Iy2 = I1wyVal * I1wyVal; grad[y * I1w_step + x] = Ix2 + Iy2; float I0Val = I0[y * I0_step + x]; rho[y * I1w_step + x] = I1wVal - I1wxVal * u1Val - I1wyVal * u2Val - I0Val; } } __kernel void estimateDualVariablesKernel(__global const float* u1, int u1_col, int u1_row, int u1_step, __global const float* u2, __global float* p11, int p11_step, __global float* p12, __global float* p21, __global float* p22, float taut, int u2_step, int u1_offset_x, int u1_offset_y, int u2_offset_x, int u2_offset_y) { int x = get_global_id(0); int y = get_global_id(1); if(x < u1_col && y < u1_row) { int src_x1 = (x + 1) < (u1_col - 1) ? (x + 1) : (u1_col - 1); float u1x = u1[(y + u1_offset_y) * u1_step + src_x1 + u1_offset_x] - u1[(y + u1_offset_y) * u1_step + x + u1_offset_x]; int src_y1 = (y + 1) < (u1_row - 1) ? (y + 1) : (u1_row - 1); float u1y = u1[(src_y1 + u1_offset_y) * u1_step + x + u1_offset_x] - u1[(y + u1_offset_y) * u1_step + x + u1_offset_x]; int src_x2 = (x + 1) < (u1_col - 1) ? (x + 1) : (u1_col - 1); float u2x = u2[(y + u2_offset_y) * u2_step + src_x2 + u2_offset_x] - u2[(y + u2_offset_y) * u2_step + x + u2_offset_x]; int src_y2 = (y + 1) < (u1_row - 1) ? (y + 1) : (u1_row - 1); float u2y = u2[(src_y2 + u2_offset_y) * u2_step + x + u2_offset_x] - u2[(y + u2_offset_y) * u2_step + x + u2_offset_x]; float g1 = hypot(u1x, u1y); float g2 = hypot(u2x, u2y); float ng1 = 1.0f + taut * g1; float ng2 = 1.0f + taut * g2; p11[y * p11_step + x] = (p11[y * p11_step + x] + taut * u1x) / ng1; p12[y * p11_step + x] = (p12[y * p11_step + x] + taut * u1y) / ng1; p21[y * p11_step + x] = (p21[y * p11_step + x] + taut * u2x) / ng2; p22[y * p11_step + x] = (p22[y * p11_step + x] + taut * u2y) / ng2; } } inline float divergence(__global const float* v1, __global const float* v2, int y, int x, int v1_step, int v2_step) { if (x > 0 && y > 0) { float v1x = v1[y * v1_step + x] - v1[y * v1_step + x - 1]; float v2y = v2[y * v2_step + x] - v2[(y - 1) * v2_step + x]; return v1x + v2y; } else { if (y > 0) return v1[y * v1_step + 0] + v2[y * v2_step + 0] - v2[(y - 1) * v2_step + 0]; else { if (x > 0) return v1[0 * v1_step + x] - v1[0 * v1_step + x - 1] + v2[0 * v2_step + x]; else return v1[0 * v1_step + 0] + v2[0 * v2_step + 0]; } } } __kernel void estimateUKernel(__global const float* I1wx, int I1wx_col, int I1wx_row, int I1wx_step, __global const float* I1wy, __global const float* grad, __global const float* rho_c, __global const float* p11, __global const float* p12, __global const float* p21, __global const float* p22, __global float* u1, int u1_step, __global float* u2, __global float* error, float l_t, float theta, int u2_step, int u1_offset_x, int u1_offset_y, int u2_offset_x, int u2_offset_y, char calc_error) { int x = get_global_id(0); int y = get_global_id(1); if(x < I1wx_col && y < I1wx_row) { float I1wxVal = I1wx[y * I1wx_step + x]; float I1wyVal = I1wy[y * I1wx_step + x]; float gradVal = grad[y * I1wx_step + x]; float u1OldVal = u1[(y + u1_offset_y) * u1_step + x + u1_offset_x]; float u2OldVal = u2[(y + u2_offset_y) * u2_step + x + u2_offset_x]; float rho = rho_c[y * I1wx_step + x] + (I1wxVal * u1OldVal + I1wyVal * u2OldVal); float d1 = 0.0f; float d2 = 0.0f; if (rho < -l_t * gradVal) { d1 = l_t * I1wxVal; d2 = l_t * I1wyVal; } else if (rho > l_t * gradVal) { d1 = -l_t * I1wxVal; d2 = -l_t * I1wyVal; } else if (gradVal > 1.192092896e-07f) { float fi = -rho / gradVal; d1 = fi * I1wxVal; d2 = fi * I1wyVal; } float v1 = u1OldVal + d1; float v2 = u2OldVal + d2; float div_p1 = divergence(p11, p12, y, x, I1wx_step, I1wx_step); float div_p2 = divergence(p21, p22, y, x, I1wx_step, I1wx_step); float u1NewVal = v1 + theta * div_p1; float u2NewVal = v2 + theta * div_p2; u1[(y + u1_offset_y) * u1_step + x + u1_offset_x] = u1NewVal; u2[(y + u2_offset_y) * u2_step + x + u2_offset_x] = u2NewVal; if(calc_error) { float n1 = (u1OldVal - u1NewVal) * (u1OldVal - u1NewVal); float n2 = (u2OldVal - u2NewVal) * (u2OldVal - u2NewVal); error[y * I1wx_step + x] = n1 + n2; } } } 9474ca90cbcc7660f6c47b8a45d6730doptical_flow_farneback#define tx (int)get_local_id(0) #define ty get_local_id(1) #define bx get_group_id(0) #define bdx (int)get_local_size(0) #define BORDER_SIZE 5 #define MAX_KSIZE_HALF 100 #ifndef polyN #define polyN 5 #endif #if USE_DOUBLE #ifdef cl_amd_fp64 #pragma OPENCL EXTENSION cl_amd_fp64:enable #elif defined (cl_khr_fp64) #pragma OPENCL EXTENSION cl_khr_fp64:enable #endif #define TYPE double #define VECTYPE double4 #else #define TYPE float #define VECTYPE float4 #endif __kernel void polynomialExpansion(__global __const float * src, int srcStep, __global float * dst, int dstStep, const int rows, const int cols, __global __const float * c_g, __global __const float * c_xg, __global __const float * c_xxg, __local float * smem, const VECTYPE ig) { const int y = get_global_id(1); const int x = bx * (bdx - 2*polyN) + tx - polyN; int xWarped; __local float *row = smem + tx; if (y < rows && y >= 0) { xWarped = min(max(x, 0), cols - 1); row[0] = src[mad24(y, srcStep, xWarped)] * c_g[0]; row[bdx] = 0.f; row[2*bdx] = 0.f; #pragma unroll for (int k = 1; k <= polyN; ++k) { float t0 = src[mad24(max(y - k, 0), srcStep, xWarped)]; float t1 = src[mad24(min(y + k, rows - 1), srcStep, xWarped)]; row[0] += c_g[k] * (t0 + t1); row[bdx] += c_xg[k] * (t1 - t0); row[2*bdx] += c_xxg[k] * (t0 + t1); } } barrier(CLK_LOCAL_MEM_FENCE); if (y < rows && y >= 0 && tx >= polyN && tx + polyN < bdx && x < cols) { TYPE b1 = c_g[0] * row[0]; TYPE b3 = c_g[0] * row[bdx]; TYPE b5 = c_g[0] * row[2*bdx]; TYPE b2 = 0, b4 = 0, b6 = 0; #pragma unroll for (int k = 1; k <= polyN; ++k) { b1 += (row[k] + row[-k]) * c_g[k]; b4 += (row[k] + row[-k]) * c_xxg[k]; b2 += (row[k] - row[-k]) * c_xg[k]; b3 += (row[k + bdx] + row[-k + bdx]) * c_g[k]; b6 += (row[k + bdx] - row[-k + bdx]) * c_xg[k]; b5 += (row[k + 2*bdx] + row[-k + 2*bdx]) * c_g[k]; } dst[mad24(y, dstStep, xWarped)] = (float)(b3*ig.s0); dst[mad24(rows + y, dstStep, xWarped)] = (float)(b2*ig.s0); dst[mad24(2*rows + y, dstStep, xWarped)] = (float)(b1*ig.s1 + b5*ig.s2); dst[mad24(3*rows + y, dstStep, xWarped)] = (float)(b1*ig.s1 + b4*ig.s2); dst[mad24(4*rows + y, dstStep, xWarped)] = (float)(b6*ig.s3); } } inline int idx_row_low(const int y, const int last_row) { return abs(y) % (last_row + 1); } inline int idx_row_high(const int y, const int last_row) { return abs(last_row - abs(last_row - y)) % (last_row + 1); } inline int idx_col_low(const int x, const int last_col) { return abs(x) % (last_col + 1); } inline int idx_col_high(const int x, const int last_col) { return abs(last_col - abs(last_col - x)) % (last_col + 1); } inline int idx_col(const int x, const int last_col) { return idx_col_low(idx_col_high(x, last_col), last_col); } __kernel void gaussianBlur(__global const float * src, int srcStep, __global float * dst, int dstStep, const int rows, const int cols, __global const float * c_gKer, const int ksizeHalf, __local float * smem) { const int y = get_global_id(1); const int x = get_global_id(0); __local float *row = smem + ty * (bdx + 2*ksizeHalf); if (y < rows) { for (int i = tx; i < bdx + 2*ksizeHalf; i += bdx) { int xExt = (int)(bx * bdx) + i - ksizeHalf; xExt = idx_col(xExt, cols - 1); row[i] = src[mad24(y, srcStep, xExt)] * c_gKer[0]; for (int j = 1; j <= ksizeHalf; ++j) row[i] += (src[mad24(idx_row_low(y - j, rows - 1), srcStep, xExt)] + src[mad24(idx_row_high(y + j, rows - 1), srcStep, xExt)]) * c_gKer[j]; } } barrier(CLK_LOCAL_MEM_FENCE); if (y < rows && y >= 0 && x < cols && x >= 0) { row += tx + ksizeHalf; float res = row[0] * c_gKer[0]; for (int i = 1; i <= ksizeHalf; ++i) res += (row[-i] + row[i]) * c_gKer[i]; dst[mad24(y, dstStep, x)] = res; } } __kernel void gaussianBlur5(__global const float * src, int srcStep, __global float * dst, int dstStep, const int rows, const int cols, __global const float * c_gKer, const int ksizeHalf, __local float * smem) { const int y = get_global_id(1); const int x = get_global_id(0); const int smw = bdx + 2*ksizeHalf; __local volatile float *row = smem + 5 * ty * smw; if (y < rows) { for (int i = tx; i < bdx + 2*ksizeHalf; i += bdx) { int xExt = (int)(bx * bdx) + i - ksizeHalf; xExt = idx_col(xExt, cols - 1); #pragma unroll for (int k = 0; k < 5; ++k) row[k*smw + i] = src[mad24(k*rows + y, srcStep, xExt)] * c_gKer[0]; for (int j = 1; j <= ksizeHalf; ++j) #pragma unroll for (int k = 0; k < 5; ++k) row[k*smw + i] += (src[mad24(k*rows + idx_row_low(y - j, rows - 1), srcStep, xExt)] + src[mad24(k*rows + idx_row_high(y + j, rows - 1), srcStep, xExt)]) * c_gKer[j]; } } barrier(CLK_LOCAL_MEM_FENCE); if (y < rows && y >= 0 && x < cols && x >= 0) { row += tx + ksizeHalf; float res[5]; #pragma unroll for (int k = 0; k < 5; ++k) res[k] = row[k*smw] * c_gKer[0]; for (int i = 1; i <= ksizeHalf; ++i) #pragma unroll for (int k = 0; k < 5; ++k) res[k] += (row[k*smw - i] + row[k*smw + i]) * c_gKer[i]; #pragma unroll for (int k = 0; k < 5; ++k) dst[mad24(k*rows + y, dstStep, x)] = res[k]; } } __constant float c_border[BORDER_SIZE + 1] = { 0.14f, 0.14f, 0.4472f, 0.4472f, 0.4472f, 1.f }; __kernel void updateMatrices(__global const float * flowx, int xStep, __global const float * flowy, int yStep, const int rows, const int cols, __global const float * R0, int R0Step, __global const float * R1, int R1Step, __global float * M, int mStep) { const int y = get_global_id(1); const int x = get_global_id(0); if (y < rows && y >= 0 && x < cols && x >= 0) { float dx = flowx[mad24(y, xStep, x)]; float dy = flowy[mad24(y, yStep, x)]; float fx = x + dx; float fy = y + dy; int x1 = convert_int(floor(fx)); int y1 = convert_int(floor(fy)); fx -= x1; fy -= y1; float r2, r3, r4, r5, r6; if (x1 >= 0 && y1 >= 0 && x1 < cols - 1 && y1 < rows - 1) { float a00 = (1.f - fx) * (1.f - fy); float a01 = fx * (1.f - fy); float a10 = (1.f - fx) * fy; float a11 = fx * fy; r2 = a00 * R1[mad24(y1, R1Step, x1)] + a01 * R1[mad24(y1, R1Step, x1 + 1)] + a10 * R1[mad24(y1 + 1, R1Step, x1)] + a11 * R1[mad24(y1 + 1, R1Step, x1 + 1)]; r3 = a00 * R1[mad24(rows + y1, R1Step, x1)] + a01 * R1[mad24(rows + y1, R1Step, x1 + 1)] + a10 * R1[mad24(rows + y1 + 1, R1Step, x1)] + a11 * R1[mad24(rows + y1 + 1, R1Step, x1 + 1)]; r4 = a00 * R1[mad24(2*rows + y1, R1Step, x1)] + a01 * R1[mad24(2*rows + y1, R1Step, x1 + 1)] + a10 * R1[mad24(2*rows + y1 + 1, R1Step, x1)] + a11 * R1[mad24(2*rows + y1 + 1, R1Step, x1 + 1)]; r5 = a00 * R1[mad24(3*rows + y1, R1Step, x1)] + a01 * R1[mad24(3*rows + y1, R1Step, x1 + 1)] + a10 * R1[mad24(3*rows + y1 + 1, R1Step, x1)] + a11 * R1[mad24(3*rows + y1 + 1, R1Step, x1 + 1)]; r6 = a00 * R1[mad24(4*rows + y1, R1Step, x1)] + a01 * R1[mad24(4*rows + y1, R1Step, x1 + 1)] + a10 * R1[mad24(4*rows + y1 + 1, R1Step, x1)] + a11 * R1[mad24(4*rows + y1 + 1, R1Step, x1 + 1)]; r4 = (R0[mad24(2*rows + y, R0Step, x)] + r4) * 0.5f; r5 = (R0[mad24(3*rows + y, R0Step, x)] + r5) * 0.5f; r6 = (R0[mad24(4*rows + y, R0Step, x)] + r6) * 0.25f; } else { r2 = r3 = 0.f; r4 = R0[mad24(2*rows + y, R0Step, x)]; r5 = R0[mad24(3*rows + y, R0Step, x)]; r6 = R0[mad24(4*rows + y, R0Step, x)] * 0.5f; } r2 = (R0[mad24(y, R0Step, x)] - r2) * 0.5f; r3 = (R0[mad24(rows + y, R0Step, x)] - r3) * 0.5f; r2 += r4*dy + r6*dx; r3 += r6*dy + r5*dx; float scale = c_border[min(x, BORDER_SIZE)] * c_border[min(y, BORDER_SIZE)] * c_border[min(cols - x - 1, BORDER_SIZE)] * c_border[min(rows - y - 1, BORDER_SIZE)]; r2 *= scale; r3 *= scale; r4 *= scale; r5 *= scale; r6 *= scale; M[mad24(y, mStep, x)] = r4*r4 + r6*r6; M[mad24(rows + y, mStep, x)] = (r4 + r5)*r6; M[mad24(2*rows + y, mStep, x)] = r5*r5 + r6*r6; M[mad24(3*rows + y, mStep, x)] = r4*r2 + r6*r3; M[mad24(4*rows + y, mStep, x)] = r6*r2 + r5*r3; } } __kernel void boxFilter5(__global const float * src, int srcStep, __global float * dst, int dstStep, const int rows, const int cols, const int ksizeHalf, __local float * smem) { const int y = get_global_id(1); const int x = get_global_id(0); const float boxAreaInv = 1.f / ((1 + 2*ksizeHalf) * (1 + 2*ksizeHalf)); const int smw = bdx + 2*ksizeHalf; __local float *row = smem + 5 * ty * smw; if (y < rows) { for (int i = tx; i < bdx + 2*ksizeHalf; i += bdx) { int xExt = (int)(bx * bdx) + i - ksizeHalf; xExt = min(max(xExt, 0), cols - 1); #pragma unroll for (int k = 0; k < 5; ++k) row[k*smw + i] = src[mad24(k*rows + y, srcStep, xExt)]; for (int j = 1; j <= ksizeHalf; ++j) #pragma unroll for (int k = 0; k < 5; ++k) row[k*smw + i] += src[mad24(k*rows + max(y - j, 0), srcStep, xExt)] + src[mad24(k*rows + min(y + j, rows - 1), srcStep, xExt)]; } } barrier(CLK_LOCAL_MEM_FENCE); if (y < rows && y >= 0 && x < cols && x >= 0) { row += tx + ksizeHalf; float res[5]; #pragma unroll for (int k = 0; k < 5; ++k) res[k] = row[k*smw]; for (int i = 1; i <= ksizeHalf; ++i) #pragma unroll for (int k = 0; k < 5; ++k) res[k] += row[k*smw - i] + row[k*smw + i]; #pragma unroll for (int k = 0; k < 5; ++k) dst[mad24(k*rows + y, dstStep, x)] = res[k] * boxAreaInv; } } __kernel void updateFlow(__global const float * M, int mStep, __global float * flowx, int xStep, __global float * flowy, int yStep, const int rows, const int cols) { const int y = get_global_id(1); const int x = get_global_id(0); if (y < rows && y >= 0 && x < cols && x >= 0) { float g11 = M[mad24(y, mStep, x)]; float g12 = M[mad24(rows + y, mStep, x)]; float g22 = M[mad24(2*rows + y, mStep, x)]; float h1 = M[mad24(3*rows + y, mStep, x)]; float h2 = M[mad24(4*rows + y, mStep, x)]; float detInv = 1.f / (g11*g22 - g12*g12 + 1e-3f); flowx[mad24(y, xStep, x)] = (g11*h2 - g12*h1) * detInv; flowy[mad24(y, yStep, x)] = (g22*h1 - g12*h2) * detInv; } } 529300e6242f574f83d11a089cc120c0bgfg_mog2#if CN==1 #define T_MEAN float #define F_ZERO (0.0f) #define cnMode 1 #define frameToMean(a, b) (b) = *(a); #if FL==0 #define meanToFrame(a, b) *b = convert_uchar_sat(a); #else #define meanToFrame(a, b) *b = (float)a; #endif inline float sum(float val) { return val; } #else #define T_MEAN float4 #define F_ZERO (0.0f, 0.0f, 0.0f, 0.0f) #define cnMode 4 #if FL == 0 #define meanToFrame(a, b)\ b[0] = convert_uchar_sat(a.x); \ b[1] = convert_uchar_sat(a.y); \ b[2] = convert_uchar_sat(a.z); #else #define meanToFrame(a, b)\ b[0] = a.x; \ b[1] = a.y; \ b[2] = a.z; #endif #define frameToMean(a, b)\ b.x = a[0]; \ b.y = a[1]; \ b.z = a[2]; \ b.w = 0.0f; inline float sum(const float4 val) { return (val.x + val.y + val.z); } #endif __kernel void mog2_kernel(__global const uchar* frame, int frame_step, int frame_offset, int frame_row, int frame_col, __global uchar* modesUsed, __global uchar* weight, __global uchar* mean, __global uchar* variance, __global uchar* fgmask, int fgmask_step, int fgmask_offset, float alphaT, float alpha1, float prune, float c_Tb, float c_TB, float c_Tg, float c_varMin, float c_varMax, float c_varInit, float c_tau #ifdef SHADOW_DETECT , uchar c_shadowVal #endif ) { int x = get_global_id(0); int y = get_global_id(1); if( x < frame_col && y < frame_row) { #if FL==0 __global const uchar* _frame = (frame + mad24(y, frame_step, mad24(x, CN, frame_offset))); #else __global const float* _frame = ((__global const float*)( frame + mad24(y, frame_step, frame_offset)) + mad24(x, CN, 0)); #endif T_MEAN pix; frameToMean(_frame, pix); uchar foreground = 255; bool fitsPDF = false; int pt_idx = mad24(y, frame_col, x); int idx_step = frame_row * frame_col; __global uchar* _modesUsed = modesUsed + pt_idx; uchar nmodes = _modesUsed[0]; float totalWeight = 0.0f; __global float* _weight = (__global float*)(weight); __global float* _variance = (__global float*)(variance); __global T_MEAN* _mean = (__global T_MEAN*)(mean); uchar mode = 0; for (; mode < nmodes; ++mode) { int mode_idx = mad24(mode, idx_step, pt_idx); float c_weight = mad(alpha1, _weight[mode_idx], prune); float c_var = _variance[mode_idx]; T_MEAN c_mean = _mean[mode_idx]; T_MEAN diff = c_mean - pix; float dist2 = dot(diff, diff); if (totalWeight < c_TB && dist2 < c_Tb * c_var) foreground = 0; if (dist2 < c_Tg * c_var) { fitsPDF = true; c_weight += alphaT; float k = alphaT / c_weight; T_MEAN mean_new = mad((T_MEAN)-k, diff, c_mean); float variance_new = clamp(mad(k, (dist2 - c_var), c_var), c_varMin, c_varMax); for (int i = mode; i > 0; --i) { int prev_idx = mode_idx - idx_step; if (c_weight < _weight[prev_idx]) break; _weight[mode_idx] = _weight[prev_idx]; _variance[mode_idx] = _variance[prev_idx]; _mean[mode_idx] = _mean[prev_idx]; mode_idx = prev_idx; } _mean[mode_idx] = mean_new; _variance[mode_idx] = variance_new; _weight[mode_idx] = c_weight; totalWeight += c_weight; mode ++; break; } if (c_weight < -prune) c_weight = 0.0f; _weight[mode_idx] = c_weight; totalWeight += c_weight; } for (; mode < nmodes; ++mode) { int mode_idx = mad24(mode, idx_step, pt_idx); float c_weight = mad(alpha1, _weight[mode_idx], prune); if (c_weight < -prune) { c_weight = 0.0f; nmodes = mode; break; } _weight[mode_idx] = c_weight; totalWeight += c_weight; } if (0.f < totalWeight) { totalWeight = 1.f / totalWeight; for (int mode = 0; mode < nmodes; ++mode) _weight[mad24(mode, idx_step, pt_idx)] *= totalWeight; } if (!fitsPDF) { uchar mode = nmodes == (NMIXTURES) ? (NMIXTURES) - 1 : nmodes++; int mode_idx = mad24(mode, idx_step, pt_idx); if (nmodes == 1) _weight[mode_idx] = 1.f; else { _weight[mode_idx] = alphaT; for (int i = pt_idx; i < mode_idx; i += idx_step) _weight[i] *= alpha1; } for (int i = nmodes - 1; i > 0; --i) { int prev_idx = mode_idx - idx_step; if (alphaT < _weight[prev_idx]) break; _weight[mode_idx] = _weight[prev_idx]; _variance[mode_idx] = _variance[prev_idx]; _mean[mode_idx] = _mean[prev_idx]; mode_idx = prev_idx; } _mean[mode_idx] = pix; _variance[mode_idx] = c_varInit; } _modesUsed[0] = nmodes; #ifdef SHADOW_DETECT if (foreground) { float tWeight = 0.0f; for (uchar mode = 0; mode < nmodes; ++mode) { int mode_idx = mad24(mode, idx_step, pt_idx); T_MEAN c_mean = _mean[mode_idx]; T_MEAN pix_mean = pix * c_mean; float numerator = sum(pix_mean); float denominator = dot(c_mean, c_mean); if (denominator == 0) break; if (numerator <= denominator && numerator >= c_tau * denominator) { float a = numerator / denominator; T_MEAN dD = mad(a, c_mean, -pix); if (dot(dD, dD) < c_Tb * _variance[mode_idx] * a * a) { foreground = c_shadowVal; break; } } tWeight += _weight[mode_idx]; if (tWeight > c_TB) break; } } #endif __global uchar* _fgmask = fgmask + mad24(y, fgmask_step, x + fgmask_offset); *_fgmask = (uchar)foreground; } } __kernel void getBackgroundImage2_kernel(__global const uchar* modesUsed, __global const uchar* weight, __global const uchar* mean, __global uchar* dst, int dst_step, int dst_offset, int dst_row, int dst_col, float c_TB) { int x = get_global_id(0); int y = get_global_id(1); if(x < dst_col && y < dst_row) { int pt_idx = mad24(y, dst_col, x); __global const uchar* _modesUsed = modesUsed + pt_idx; uchar nmodes = _modesUsed[0]; T_MEAN meanVal = (T_MEAN)F_ZERO; float totalWeight = 0.0f; __global const float* _weight = (__global const float*)weight; __global const T_MEAN* _mean = (__global const T_MEAN*)(mean); int idx_step = dst_row * dst_col; for (uchar mode = 0; mode < nmodes; ++mode) { int mode_idx = mad24(mode, idx_step, pt_idx); float c_weight = _weight[mode_idx]; T_MEAN c_mean = _mean[mode_idx]; meanVal = mad(c_weight, c_mean, meanVal); totalWeight += c_weight; if (totalWeight > c_TB) break; } if (0.f < totalWeight) meanVal = meanVal / totalWeight; else meanVal = (T_MEAN)(0.f); #if FL==0 __global uchar* _dst = dst + mad24(y, dst_step, mad24(x, CN, dst_offset)); meanToFrame(meanVal, _dst); #else __global float* _dst = ((__global float*)( dst + mad24(y, dst_step, dst_offset)) + mad24(x, CN, 0)); meanToFrame(meanVal, _dst); #endif } } a502386253c964907c0593109986217dxA$ PADA8A,ALd PPPPPPX        0@$@ 908!! ! !!! !!!!?(0??*!8 l?`?T?H?$  ?Ld PPPPPPP  P  P  P  PX=ز&l     L=&.8    =@p<dp$<,P<~8dP&&&&& &&d&%4&&&&&&4&&& && <%(0     ;,;D;&D|;(DX;8;_@  :?8L<    |l:180H:?@ :<: 949P|9 B`|\9:&Lh$9? +8T t   | h 88Z  8t8?\"#""""  " ""#####" """""##7l:8:99998:9989 9 9 9!:,9,:-9-812923944988D999:::6dnmnoommnnoopo!p!o!o!n"n"p-o/o0n0n5o6o6o;o;n;n<mFmFmGoJmJoJoOmPmPlUmUoUoWmWoXmYnabmbcocdodeljmlmnnnoo,5$؝  ܔȚԚ ȗ!ԗ!"$($ܙ%d'+И+,-.ܝ0223445Ğ6789:;؜=ėDIėKԝNLėOĝO$ėPНSLėTT[ė[_ė``ėabėbcėcelėffėghėhiėjjėklėloėopėpqėvțwėwԛxėxyėy{ė|ȍ؝Ԏ̏̑؝Ȓ1<Tp,--  ------  ,#(-))-,--1 1? ,0@\  0U@P l p           h0hL$<0-L+%,&,','++++/?(@H)) )))))))!)!)!)!)")")#)$)%`)())l/ DhH/ Lx,/-!}.?* %%%$\%&& & & % %&&%&%$&$%$t%%%&% %!($#$#%#%$&$&$%$%.F<@ LXL(MM M8M N L M L(NMLMMM#M&M'M(hM*M+L+M+N-K-M.M.L/N0lN1L2L8N8N9N9LN;K<N<L=8M>L>M?J@NBLBLBMBMCMDLENFNFLG@NHMHMHKHKINJKJ0LKt,D`cbbcb`b abcbabab!c'b3b7b7c8b9t_DbGcJaNbPbQbXaY_YbYbZbZa[db\a^_^_` `+"|$0++!H\*?<5t*<PX`*4<  <*gTh  k hjgklh'i'i'h'k)i)i*i-i- k-k.k.k1k2k3k3k3k6k6 k6k7k7k:h<k@hFkHgMNlNjOfOkOlOjQlTjTlTjUlUjVlYlZj\]j]h]i_h`hajajbgbkbkcjdidiekfkfhghjkld(1'\}((LP4hjhi h iiiifDg#i&h&h'h7iBiIiLiM$iMiS`i[i\h\h\j]i^h_hf`jajafbjbheffffffhihhhhhhiiji'&&&&&&&&&&&x&0 P`&T&H&<&0&0 P&{<{ { ~ ~ ~~~~~~~~~}}}}}}}}}}}}}H}!}(}1 }H}U{t{v}z4}{%% $@H$-!}$x$9-\}4$$4PQSSpSS SSSSSSSSSSSSSSQQ Q#R#R$R&S)R+Q+R+R2S4R4S4R5S>R?R?R?R@RFRHRISLSLTM,SMTNSNTOhSPTPSPSPSPSQ"?8<@ (, # &d(@-186?$@PDY$Z^`ahc Xe$ iDx@ԍ@\XpL̤ <X4t,4$X4L ' `HT@P4,  (!#4%t%l(|;bfpdhlĤ|`<t,8LT < 4d?4LLM4b8de<Pg@ lD nHoLuP}H~DЈ@tDH\L\`dЏh@lܓ||ht|(P\x <._]_J``kSmn:SmnbKH`KSotrTptrT qtrTqtrStstJT0wxw. TvxwqT̀TTlL\!!1(T$TLX!!D" TtT(,TLȋM0T؉ȋKhN<|tN(}NN ~NDNܬ́Nܲ@N$(8T l mJ____hKdgb_lp4`_hz____________` `XnrrJ(L<_ܟ_ (4@HP\htș Йؙs____L!"____xw  !!!(!8!@!H!P!܃0J____M____FxЊJ\Nĉ____h]|||| |(|0|8|@|H|P|X|`|h|p|x|||||||||<`ԎLJ "&"1"A"L"b"q"{"""# o:NHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHTHT`HkHSS$HHSSHHbtHSdltdм4dXpdXGCC: (Buildroot 2020.02.9-19-g5259632) 8.4.0A8aeabi.8-AA   "&*D.shstrtab.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rel.dyn.rel.plt.init.text.fini.rodata.ARM.extab.ARM.exidx.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.data.bss.comment.ARM.attributes8 o,,p  p  @#%oL>L>2o\@\@A