Files
PhotonVision/photon-server/src/main/resources/nativelibraries/libpicam.so

2909 lines
842 KiB
Plaintext
Raw Normal View History

ELF(xH4<00>! 4 (%$p <20> <20> <20><00><00><00><><00><>h<>h<>h<>4L <00><><00><><00><>hh$$Q<>tdR<>tdh<64>h<>h<><00><00>GNU7<><37><EFBFBD><05>RB<52>^<5E>R<04>F :<3A>ia<00>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
@PH<50><48><EFBFBD>@<00><02>`<00><00>&<01>@0@L <0A><><02> <00><><01><11>` B"<22><00>P<08>NB(<00> H<><10>
  HdA<>LF <46><C2A0><00>-P<10>g<10><>@<40><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00><00>
 !"Wc 5Q<35><51><EFBFBD>><3E><><EFBFBD>3<EFBFBD><33>O9<4F>/+<11>79(<]+;<3B>؊c<D88A><63><EFBFBD><EFBFBD>&<26>wT<<3C><>-<2D><>h
<EFBFBD> <0B>R<EFBFBD> <09><><EFBFBD><EFBFBD>><3E><>!d[;W <00>4<EFBFBD>I<19><><EFBFBD>=?Q<>C:<3A><>.<2E><><EFBFBD><1C><>D<EFBFBD><44><EFBFBD><EFBFBD><EFBFBD>_6<>y<EFBFBD>U=XK<17>^6<>-~<7E>ɓ<EFBFBD>J<EFBFBD>4 Y<><59>pCE<43><45>
<EFBFBD>*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <0C>8<EFBFBD>X<EE8692><58>y<EFBFBD><79>DQ<44>5+<2B><><EFBFBD><EFBFBD>ی<EFBFBD><DB8C>6k<36><6B><EFBFBD>ץ<EFBFBD><D7A5>Š<EFBFBD><C5A0><EFBFBD><EFBFBD>땺G<m<><6D>*}XK<58>ݵj<DDB5><1D><>N<><4E><EFBFBD>qX<1C>.<2E><><>mk<6D><6B>e<EFBFBD><65><EFBFBD><EFBFBD>|<7C>?<3F> <0B>yo<79>o˳T<CBB3><54><EFBFBD><1E>`<60>CZ<43>y_~Gђ<47><D192>=<3D><><EFBFBD>ey/B<0E><>Ė <0C>yw$(E
<EFBFBD>#<23><><EFBFBD><EFBFBD>s<EFBFBD>L<1B><><EFBFBD>j<EFBFBD><6A>q<EFBFBD><71><EFBFBD><EFBFBD>jLN(J<><4A><EFBFBD><EFBFBD>.<2E>qP<71><50><EFBFBD>'<27><><EFBFBD><EFBFBD><EFBFBD>W@:;<3B>_c<16>z<EFBFBD><7A><EFBFBD><EFBFBD>{9Y|<7C><06><><EFBFBD><EFBFBD><EFBFBD>k9sͷ<73><CDB7>C<EFBFBD> <0B><>ɫ^<5E><>-{::sk<73>k<6B>|a_Rs "l<><6C><EFBFBD>Dl<44> p<>k <0B>J-mr<6D>9<EFBFBD><39>1<18><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#W;<57>Ī<EFBFBD>KI`<00>> <20> <00>) <00>c<00>k@<00> <00> V<00> <00> <00><00>yc@1&U><00><00>+<00><00><00> <00><00><00> <00> ]N<00> <00><00><00><00><00><00>5<00><00>F'( <00>+<00>,<00>%+;<00> 0 <00><00>i U <00><00>4!q7<00><00><00><00><00>}a<00> <00>y "}<00>M<00><00>o<00><00><00><00> /[<00>g? <00> <00> <00>9<00>*o<00><00><00>=<00><00> <00> r<00>$Z N<00><00> O<00>v~ <00> <00><00>W<00>D<00><00><00>sSS,<00>}Y<00> :3(|T/ =<00>  <00>e, <00>F"F<00><00> <00><00><00><00> <00><00><>0 <00>(<28>0<00><00><>8<00><00><>@ H<00><>l 3<00><> <00>
T<><00> <00><00>z@ } <0C><00> <00>`<60>0 <00>P}0 [<00><>M d<> <00> <00>a@ ~@<40><00><00>g " _<00>L <00>h<" +<00><>p j<00><>*<00>} <00>o  <00>q<00> <00><> <00><18>$ cԑT <00><>@ b `<60>@zp lh<00>" m <00><>L|<00> <00>
<00>bt ^ԅ<00> <00><10>H<00><>h<1C>H" `<00>0 <00><1C>H" <00><00><>, .
<00>ad u<00><><00><00>r<00> <00><00>}0 <00>\<5C><00> <00><00>}0 <00>p<>@ <00><00>N<00> <00><00>}@ qP<><00><00>8<>{<00><>$<00>lh<00>" NXh" <00>\<5C><00><14>D O<00><><00><00><>u
Pbt <00><00>} <00>Xw }<00><><00><00>z<00> D <00><><00><1C><00> <00>M` <00>W<00> <00><00><><00>0<>@ <00><00>} <00> <00>`<00> 
<00><><00> <00><><00> pDs<00> <00>`_<00> <00>L<>H<00><00>[<00> k<00>g" D<00> <00>q<00> -Xh" 8Ј0 e<00><>| G<00><>H<00>X<><00><00><>0i<00><>; <0C><00> <00>
8c<00> <00>D<> [
0<><00> d<><00> <00>X<>0 <00><><00> <00>p<>8<00><00>{<00> ,<00><>D <00> <00><>0 P<00>m <00><00>v` PTJ<00> <00>4~ <00>ܕh oXx<00> kLNp {(<28>$<00> i" K(<28><00> l }0 V T`<00> <00><00>g " <00>h<" <00>x<><00> O d<00> __gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizelibopencv_core.so.3.2_ZNKSt5ctypeIcE8do_widenEc_ZNSt6vectorIhSaIhEED2Ev_ZdlPv_ZNSt6vectorIhSaIhEED1Ev_ZNSt5arrayISt6vectorIhSaIhEELj3EED2Ev_ZNSt5arrayISt6vectorIhSaIhEELj3EED1Ev_ZNSt6thread6_StateD2Ev_ZdlPvj_ZNSt6threadD2Ev_ZSt9terminatev_ZNSt6threadD1Evenqueue_mat_Znwj_ZNSt6thread15_M_start_threadESt10unique_ptrINS_6_StateESt14default_deleteIS1_EEPFvvE_ZNSt6thread6detachEv__cxa_end_cleanuppthread_create__gxx_personality_v0wait_for_vcsm_read_done_ZSt20__throw_system_errorivcsm_mutexes__aeabi_unwind_cpp_pr0set_last_timestamptimestamp_mutexlast_stc_timestampget_thresholdsmemmovehsv_uniforms_mutexhsv_thresholds_ZN2cv3MatD2Ev_ZN2cv8fastFreeEPv_ZN2cv3Mat10deallocateEv_ZN2cv3MatD1Evmemcpyvcsm_unlock_ptr_ZN2cv3Mat6createEiPKii_ZNSt18condition_variable10notify_allEvintermediate_buffersmat_available_mutexthreshold_matcopy_colormat_availablecolor_mat_ZNSt11char_traitsIcE6lengthEPKcstrlensetup_mmalbcm_host_initmmal_component_createmmal_port_parameter_setmmal_port_parameter_set_uint32raspicamcontrol_set_all_parametersmmal_port_format_commitmmal_component_enable_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i_ZNSolsEi__cxa_allocate_exception_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv_ZNSt13runtime_errorC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE__cxa_throw_ZNSt13runtime_errorC1EPKc__cxa_free_exception_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Evcurrent_fps_ZNSt13runtime_errorD1Ev_ZTISt13runtime_errorJava_org_photonvision_raspi_PicamJNI_createCamera_ZNSo3putEc_ZNSo5flushEvraspitex_set_defaultsraspitex_initmemsetraspicamcontrol_set_defaultsraspitex_configure_preview_portraspitex_startraspicamcontrol_set_flips_ZNKSt5ctypeIcE13_M_widen_initEv_ZSt16__throw_bad_castv__cxa_begin_catch_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6___cxa_end_catch_ZSt4couttex_statemmal_state_ZSt4cerrJava_org_photonvision_raspi_PicamJNI_destroyCameraraspitex_stop__errno_locationnanosleepraspitex_destroycheck_disable_portmmal_connection_destroymmal_component_disablemmal_component_destroyJava_org_photonvision_raspi_PicamJNI_setThresholdsJava_org_photonvision_raspi_PicamJNI_setExposureraspicamcontrol_set_shutter_speedJava_org_photonvision_raspi_PicamJNI_setBrightnessraspicamcontrol_set_brightnessJava_org_photonvision_raspi_PicamJNI_setGainraspicamcontrol_set_gainsJava_org_photonvision_raspi_PicamJNI_setRotationraspicamcontrol_set_rotationJava_org_photonvision_raspi_PicamJNI_setShouldCopyColorJava_org_photonvision_raspi_PicamJNI_getFrameLatencymmal_port_parameter_get_uint64Java_org_photonvision_raspi_PicamJNI_grabFrame_ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE_ZN2cv3Mat8copySizeERKS0__ZNSt8ios_base4InitC1Ev__aeabi_atexit_ZNSt18condition_variableC1Ev_ZNSt8ios_base4InitD1Ev_ZNSt18condition_variableD1Evinter_cropped_buffermat_threadvcsm_buffer__pthread_key_createpthread_mutex_unlockpthread_mutex_lock_ZTVN10__cxxabiv120__si_class_type_infoE_ZTINSt6thread6_StateEmmal_queue_getmmal_port_send_buffervcos_log_implmmal_buffer_header_releaseraspitex_log_categorymmal_queue_putmmal_port_parameter_set_booleanmmal_port_pool_createmmal_queue_createmmal_port_enablevcos_initvcos_log_registerpthread_mutex_initsem_initvcos_pthreads_map_errnothreshold_shader_openmmal_pool_destroymmal_queue_destroypthread_mutex_destroysem_destroyraspitexutil_creat
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00

 
 

  

  0 U&y <00>> ii <00><00>0ii <00><00><><EFBFBD><00><00> ii <00> <00>i<><69><00> <00>a<><61> <00>ӯk
<00><00>) <00>q<><71><00><00><>I<00>r<><72>t)<29>h<>l<>p<>t<>|<7C><00><><00><><00><><00><> <20><00><><00><><00><><00><><00><><00><><00><>j<00><>P<><15>T<><15>X<><15>\<5C><15>`<60><15>d<>1h<><15>l<>p<>t<><15>x<>|<7C><00><><15><00><><15><00><><15><00><><15><00><><15><00><><15><00><><15><00><>X<00><>Y<00><><00><>]<00><><00><><15><00><> <00><><15><00><><15><00><>h<00><><15><00><><15><00><><15><00><><00><><00><><15><00><><15><00><><15><00><><15><00><><15><00><><00><><15><00><><00><><15><00><><15><00><15><04><15><08><15> <0C><15><10><15><14><15><18><15> <0C>"<10><14><18><1C> <20>$<24>(<28> ,<2C>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
0<> 4<> 8<> <<3C>@<40><16>D<>H<>L<>P<>T<><16>X<>\<5C><16>`<60><16>d<>h<>l<>p<>t<>x<>|<7C><00><><00><><16><00><><16><00><><00><><00><><00><><00><> <00><>!<00><>"<00><>#<00><>$<00><><00><><16><00><>%<00><>&<00><>'<00><>(<00><>)<00><>*<00><>+<00><>,<00><>-<00><>.<00><><16><00><>/<00><>0<00><>2<00><>3<00><><00><>4<00><>5<00>6<04>7<08>8 <0C>9<10><16><14><16><18>:<1C><16> <20>;$<24><16>(<28><,<2C>=0<>>4<>?8<>@<<3C>A@<40><16>D<><16>H<><16>L<>BP<>CT<>DX<>E\<5C>F`<60>Gd<>
h<> l<>Hp<>It<>Jx<>K|<7C>L<00><><16><00><>M<00><>N<00><><16><00><>O<00><>P<00><>Q<00><><16><00><>R<00><>S<00><>T<00><>U<00><>V<00><>W<00><> <00><><16><00><><16><00><>Z<00><><16><00><><16><00><>[<00><>\<00><>^<00><>_<00><>`<00><>a<00><><16><00><>b<00><>c<00><><16><00><>d<00><>e<00>f<04>g<08><16> <0C>i<10><14>k<18>l<1C>m <20>n$<24>o(<28>,<2C>p0<>q4<>r8<>s<<3C>t@<40>uD<><16>H<>vL<><16>P<>wT<>xX<>\<5C><16>`<60>yd<>zh<> l<><16>p<>{t<> x<>|<7C>|<00><><16><00><>}<00><>~<00><><00><><16><00><><16><00><><00><><16><00><><16><00><><16><00><><16><00><><16><00><><16><00><><16><00><><16><00><><16><00><><16><00><><16><00><><16><00><><16><00><><16><00><><16><00><><16><00><><16><00><><16><00><>!<00><><16><00><><16><00><><16><00><><16><00><><16><00><><16><00><16><04><16><08><16> <0C><16><10><16><14><16><18><1C><16> <20><16>$<24><16>(<28><16>,<2C><16>0<><16>4<><16>8<><16><<3C><16>@<40><16>D<><16>H<><16>L<><16>@-<2D>3<00><08><><EFBFBD><04>-<2D><04><><EFBFBD><0E><><EFBFBD><08><><EFBFBD>\<5C>Ə<>ʌ<>\<5C><><EFBFBD>Ə<>ʌ<>T<EFBFBD><54><EFBFBD>Ə<>ʌ<>L<EFBFBD><4C><EFBFBD>Ə<>ʌ<>D<EFBFBD><44><EFBFBD>Ə<>ʌ<><<3C><><EFBFBD>Ə<>ʌ<>4<EFBFBD><34><EFBFBD>Ə<>ʌ<>,<2C><><EFBFBD>Ə<>ʌ<>$<24><><EFBFBD>Ə<>ʌ<><1C><><EFBFBD>Ə<>ʌ<><14><><EFBFBD>Ə<>ʌ<> <0C><><EFBFBD>Ə<>ʌ<><04><><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<>|<7C><><EFBFBD>Ə<>ʌ<>t<EFBFBD><74><EFBFBD>Ə<>ʌ<>l<EFBFBD><6C><EFBFBD>Ə<>ʌ<>d<EFBFBD><64><EFBFBD>Ə<>ʌ<>\<5C><><EFBFBD>Ə<>ʌ<>T<EFBFBD><54><EFBFBD>Ə<>ʌ<>L<EFBFBD><4C><EFBFBD>Ə<>ʌ<>D<EFBFBD><44><EFBFBD>Ə<>ʌ<><<3C><><EFBFBD>Ə<>ʌ<>4<EFBFBD><34><EFBFBD>Ə<>ʌ<>,<2C><><EFBFBD>Ə<>ʌ<>$<24><><EFBFBD>Ə<>ʌ<><1C><><EFBFBD>Ə<>ʌ<><14><><EFBFBD>Ə<>ʌ<> <0C><><EFBFBD>Ə<>ʌ<><04><><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<>|<7C><><EFBFBD>Ə<>ʌ<>t<EFBFBD><74><EFBFBD>Ə<>ʌ<>l<EFBFBD><6C><EFBFBD>Ə<>ʌ<>d<EFBFBD><64><EFBFBD>Ə<>ʌ<>\<5C><><EFBFBD>Ə<>ʌ<>T<EFBFBD><54><EFBFBD>Ə<>ʌ<>L<EFBFBD><4C><EFBFBD>Ə<>ʌ<>D<EFBFBD><44><EFBFBD>Ə<>ʌ<><<3C><><EFBFBD>Ə<>ʌ<>4<EFBFBD><34><EFBFBD>Ə<>ʌ<>,<2C><><EFBFBD>Ə<>ʌ<>$<24><><EFBFBD>Ə<>ʌ<><1C><><EFBFBD>Ə<>ʌ<><14><><EFBFBD>Ə<>ʌ<> <0C><><EFBFBD>Ə<>ʌ<><04><><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<>|<7C><><EFBFBD>Ə<>ʌ<>t<EFBFBD><74><EFBFBD>Ə<>ʌ<>l<EFBFBD><6C><EFBFBD>Ə<>ʌ<>d<EFBFBD><64><EFBFBD>Ə<>ʌ<>\<5C><><EFBFBD>Ə<>ʌ<>T<EFBFBD><54><EFBFBD>Ə<>ʌ<>L<EFBFBD><4C><EFBFBD>Ə<>ʌ<>D<EFBFBD><44><EFBFBD>Ə<>ʌ<><<3C><><EFBFBD>Ə<>ʌ<>4<EFBFBD><34><EFBFBD>Ə<>ʌ<>,<2C><><EFBFBD>Ə<>ʌ<>$<24><><EFBFBD>Ə<>ʌ<><1C><><EFBFBD>Ə<>ʌ<><14><><EFBFBD>Ə<>ʌ<> <0C><><EFBFBD>Ə<>ʌ<><04><><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<>|<7C><><EFBFBD>Ə<>ʌ<>t<EFBFBD><74><EFBFBD>Ə<>ʌ<>l<EFBFBD><6C><EFBFBD>Ə<>ʌ<>d<EFBFBD><64><EFBFBD>Ə<>ʌ<>\<5C><><EFBFBD>Ə<>ʌ<>T<EFBFBD><54><EFBFBD>Ə<>ʌ<>L<EFBFBD><4C><EFBFBD>Ə<>ʌ<>D<EFBFBD><44><EFBFBD>Ə<>ʌ<><<3C><><EFBFBD>Ə<>ʌ<>4<EFBFBD><34><EFBFBD>Ə<>ʌ<>,<2C><><EFBFBD>Ə<>ʌ<>$<24><><EFBFBD>Ə<>ʌ<><1C><><EFBFBD>Ə<>ʌ<><14><><EFBFBD>Ə<>ʌ<> <0C><><EFBFBD>Ə<>ʌ<><04><><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<>|<7C><><EFBFBD>Ə<>ʌ<>t<EFBFBD><74><EFBFBD>Ə<>ʌ<>l<EFBFBD><6C><EFBFBD>Ə<>ʌ<>d<EFBFBD><64><EFBFBD>Ə<>ʌ<>\<5C><><EFBFBD>Ə<>ʌ<>T<EFBFBD><54><EFBFBD>Ə<>ʌ<>L<EFBFBD><4C><EFBFBD>Ə<>ʌ<>D<EFBFBD><44><EFBFBD>Ə<>ʌ<><<3C><><EFBFBD>Ə<>ʌ<>4<EFBFBD><34><EFBFBD>Ə<>ʌ<>,<2C><><EFBFBD>Ə<>ʌ<>$<24><><EFBFBD>Ə<>ʌ<><1C><><EFBFBD>Ə<>ʌ<><14><><EFBFBD>Ə<>ʌ<> <0C><><EFBFBD>Ə<>ʌ<><04><><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<>|<7C><><EFBFBD>Ə<>ʌ<>t<EFBFBD><74><EFBFBD>Ə<>ʌ<>l<EFBFBD><6C><EFBFBD>Ə<>ʌ<>d<EFBFBD><64><EFBFBD>Ə<>ʌ<>\<5C><><EFBFBD>Ə<>ʌ<>T<EFBFBD><54><EFBFBD>Ə<>ʌ<>L<EFBFBD><4C><EFBFBD>Ə<>ʌ<>D<EFBFBD><44><EFBFBD>Ə<>ʌ<><<3C><><EFBFBD>Ə<>ʌ<>4<EFBFBD><34><EFBFBD>Ə<>ʌ<>,<2C><><EFBFBD>Ə<>ʌ<>$<24><><EFBFBD>Ə<>ʌ<><1C><><EFBFBD>Ə<>ʌ<><14><><EFBFBD>Ə<>ʌ<> <0C><><EFBFBD>Ə<>ʌ<><04><><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD>Ə<>ʌ<><CA8C><EFBFBD><EFBFBD><EFBFBD><00>A-<2D><08>-<2D><>A<EFBFBD><41><EFBFBD>Q<EFBFBD><51>@<40><><00><>v<EFBFBD><76><EFBFBD><EFBFBD>a<EFBFBD><61><EFBFBD>1<EFBFBD><31>P<><50>`<60><><10><> <20><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>l1<6C><31>@<40><>Q<EFBFBD><51><EFBFBD>R<EFBFBD><52><EFBFBD>p<><70>P<EFBFBD><50><EFBFBD><00><>3<EFBFBD><33><EFBFBD>P1<50><31> <20><><00><><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<11><>@1<><31> <20><><00><><08><><EFBFBD>0<10><>(<28><><EFBFBD>,<10><> @<40><><10><>$@<40><01>4@<40><01>0@<40><>p<><70><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<><31><10><> <20><>0<><30><00><>0<EFBFBD><30><00><><EFBFBD><00><00><>,<2C><><EFBFBD>4@<40><>0@<40><>(<00><><00><> @<40><>$@<40><>v<EFBFBD><76><EFBFBD><EFBFBD> <20><><EFBFBD>0<EFBFBD><30><00><> <20><><EFBFBD>B<><00><>@<40><> <20><><10><>l<EFBFBD><6C><EFBFBD><EFBFBD><10><><EFBFBD>0<EFBFBD><30> <20><><10><><00><>@<40><><10><>d<EFBFBD><64><EFBFBD><EFBFBD>0<EFBFBD><30><08><><EFBFBD> <20><>0<><30>|<10><><00><>@<40><>@<40><>@<40><> @<40><>@<40><>@<40><>@<40><>@<40><> @<40><><10><><EFBFBD>A<EFBFBD><41>R<EFBFBD><52><EFBFBD><00><><00>B<18>\<5C>x<><00><00>XT<00><00>|<00><00><00><00>P<>p@-<2D>x<00><><08>M<EFBFBD><4D>P<EFBFBD><50>M<><4D><00><10><>0<><30> <20><><00><><00><>K<EFBFBD><4B><EFBFBD>2<EFBFBD><32><EFBFBD><10><><00><>P<EFBFBD><50><EFBFBD><10><>-0<><30>0<><30><00><>-><3E><>,<2C><>@<40><><EFBFBD>
<20><><10><><00><>@<40><><EFBFBD>
<20><><10><>@<40><><00><>;<3B><><EFBFBD>
<20><><10><>P<><50> <00><>6<EFBFBD><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>p@-<2D>0P<30><50>0@<40><>P<><50><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>$<10><>@<40><> <20><>0<><30><00><><10><> <20><>p@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>p<EFBFBD>ȄԈ0<><30> <20><>0<><30> <20><>R<><1E>/<19><><00>,<00><>,0<><30><00><>0<><30>S<> 0<><30>0<><30><1E>/ <20><>0<><30>S<><1E>/<13>/<2F><08><04>\<5C><00>8<00><>80<38><30><00><>0<><30>C<>,0<><30>A<11><>0<><30><EFBFBD><1F><><EFBFBD><10><><1E>/ <20><>0<><30>S<><1E>/<13>/<2F>ĉ<00><><14>L0<4C><30>L <20><>0<><30> <20><>0<><30>S<><1E>/80<38><30>@-<2D>0<><30>S<>
(0<><30><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30> <20><>0<><30> <20><><10><><EFBFBD>x<EFBFBD>ԃ̇8<><00><><EFBFBD><EFBFBD>0<><30>@-<2D>0<><30>0<><30>@<40><>0<><30><07><><EFBFBD><00><><10><><EFBFBD><EFBFBD><EFBFBD>(0<><30>@-<2D>0<><30>0<><30>@<40><>0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><10><>T<EFBFBD><54><EFBFBD><00><><10><>p@-<2D>@<40>M<EFBFBD><18><><EFBFBD>P@<40><><00><><00><><EFBFBD> @<40><><EFBFBD>
m<EFBFBD>(<00><> <0B><><1B><><00><>,<2C><><EFBFBD>@<40><>@<40><><00><><00><><00><><EFBFBD>r<EFBFBD><72><EFBFBD>,<2C><><EFBFBD><EFBFBD>@<40><><EFBFBD>P<EFBFBD><50>@<40><>P<><50>@<40><><00><><EFBFBD><00><><14><><EFBFBD>@<40><>`<60><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40><><00><><00><>`<60><><10><> <20><>0<><30>f<EFBFBD><66><EFBFBD><00><>P<>
0<><30>0<><30>3<EFBFBD>/<2F><00><>u<EFBFBD><75><EFBFBD>0<><30>S<><>p<EFBFBD><70><EFBFBD>0<><30>S<>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><>P<>
0<><30>0<><30>3<EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD>4<EFBFBD><00><><00>L0<4C><30>L<10><>0<><30>H <20><>p@-<2D><><00><>P<><50>@<40><>U<><55>A<EFBFBD><41>
<00><><<3C><><EFBFBD>P<>U<>p<EFBFBD><70><00><>p@<40><>~<7E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><04><00><00><00>A-<2D>`<60><>P@<40><>P0<50><30>@<40><>p<><70>P<><50>U<>
<0<><30><00><>%<25><><EFBFBD>P<>,0<><30>U<>0<><30><EFBFBD>`<60><><EFBFBD><EFBFBD><EFBFBD>0<><30><00><><EFBFBD>A<EFBFBD><41>c<EFBFBD><63><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><00><00>A-<2D>`<60><>l@<40><>l0<6C><30>@<40><>p<><70>P<><50>U<>
X0<EFBFBD><EFBFBD><00><> <09><><EFBFBD>P<>H0<48><30><00><> <20><>`<60><><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><><00><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>U<><55><EFBFBD><EFBFBD>0<><30><00><><EFBFBD>A<EFBFBD><41>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><00>P`<00>O-<2D>`<60><>u<><75><15><>p<><70>0<><30><EFBFBD>$<24><><00><>\<5C>M<EFBFBD><4D>@<40><><00><><10><> <20><>P<><50><01><> <00><>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>P<><50>0<><30><EFBFBD>@<40><><EFBFBD>$<24><>@<40><>P<><50>A<><41><05><><EFBFBD>0<><30><04><><EFBFBD><03>Y<EFBFBD>
<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><> <20><><00><><EFBFBD> R<>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40><><EFBFBD><00><01><>Y<><59>:0<><30><14><><EFBFBD>U<>1<><31>0<><30>A<><41>0<><30> <0B><><EFBFBD><00><><EFBFBD> <00> <20><>
<10><><00><>}<7D><><EFBFBD><01><><EFBFBD> <20><>Y<><02><><EFBFBD>0<><30><EFBFBD><EFBFBD><EFBFBD> <00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>S<>
4<><34><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P<><50> <10><>P<><50><00><><EFBFBD> <20><><EFBFBD>(<28><><EFBFBD>P<EFBFBD><50><EFBFBD>P<><50><10><><EFBFBD><05><> <0B><><EFBFBD><1B><> 0<><30>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<00><> <20><><10><> <0B><>
<1B><>@<40><><EFBFBD>P<00><>D<EFBFBD><44><EFBFBD>T<EFBFBD><54><EFBFBD>P<EFBFBD><50><EFBFBD>H<EFBFBD><48><EFBFBD>L<EFBFBD><4C><EFBFBD> <0B><><1B><>b<EFBFBD><62><EFBFBD><EFBFBD>3<EFBFBD><33>@<40><>$0<><30>S<>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
0<><30><EFBFBD><07><>/<2F><>B<><42><0F><>P<><50><EFBFBD><EFBFBD>R<><52><07>[
 <20><>0<><30>R<><00>( <20><><00><> B<><00><><10><>0<><30>Q<><51><EFBFBD><EFBFBD><EFBFBD>,<00><>00<30><30>@<10><>D <20><>P<>+<2B><>
;<3B><>0<><30> <0B><><1B><><EFBFBD>*C<> <10><><EFBFBD>
C<EFBFBD>$ <20><>$0<><30>
s<EFBFBD><EFBFBD><EFBFBD>$0<><30>0 <20><>, <20><> <20><>( <20><>S<>L<00><><EFBFBD><00>0<><30> P<>00<30><30> <20><>0<><30><EFBFBD>+<2B><><EFBFBD>;<3B><>P<00><>4 <20><>@0<><30>D0<44><30>+<2B><>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
;<3B><> <0B><><1B><>
Z<EFBFBD><EFBFBD><EFBFBD>x2<EFBFBD><EFBFBD>@<40><>0<><30>0<><30>S<><53>U<>s<00><11><>0<><30> <20><>R<>T1<10>#<10>30E<30>S<><10><><01>Q<><51>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<0F><><EFBFBD><04><><EFBFBD><00><><10><> a<>a<>
@<40>\<5C>@ <20><><EFBFBD><EFBFBD><EFBFBD>0<><30> <20><><11><>U<><10><><10><>U<00><01><><10><><00><>U<><00><>O<00><01><> <20><><00><>U<><00><>I<00><01><><10><><00><>U<><00><>C<00><01><> <20><><00><>U<><00><>=<00><01><><10><><00><>U<><00><>7<00><01><> <20><><00><>U<><00><>1<00><01><><10><><00><>U<><00><>+<00><01><> <20><><00><>U<><00><>%<00><01><>
<10><><00><>U<><00><><00><01><> <20><><00><>U<><00><><00><01><> <10><><00><>U<><00><><00><01><> <20><><00><>U<><00><> <00><01><><10><><00><>U<><00><><00>!<21><>0<><30> <20><>U<> <20><>!<21><> <20><> <20><>0<><30>S<>
t0<EFBFBD><EFBFBD><00><><0F><><EFBFBD>t0<74><30><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>X<>
<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>S<>
<00><><03><><EFBFBD><><D08D><EFBFBD><EFBFBD><EFBFBD>H0<48><30>,<00><>(0<><30>k<EFBFBD><6B><EFBFBD> <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00>B<00><><00><00><00><00><00>h<00><00><00><><00><><EFBFBD>0<><30><10><><00><> <20><><10><>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<00><><EFBFBD>+<2B><><EFBFBD>;<3B><>P<00><>H<EFBFBD><48><EFBFBD>L<EFBFBD><4C><EFBFBD>@<40><><EFBFBD>D<EFBFBD><44><EFBFBD>T<EFBFBD><54><EFBFBD>P<EFBFBD><50><EFBFBD>+<2B><>
;<3B><> <0B><><1B><>e<EFBFBD><65><EFBFBD>02<30><32>`<60><>$0<><30>S<>
0<><30><EFBFBD><07><>/<2F><>B<><42><0F><>P<><50><EFBFBD><EFBFBD>R<><52><07><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>0<><30>R<><00>( <20><><00><> B<><00><><10><>0<><30>Q<><51><EFBFBD><EFBFBD><EFBFBD>,<00><>00<30><30>@<10><>D <20><>P<>+<2B><>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
;<3B><>0<><30> <0B><><1B><><EFBFBD>*C<> <10><><EFBFBD>
C<EFBFBD>$ <20><>$0<><30>
t<EFBFBD><EFBFBD><EFBFBD>$0<><30>0 <20><>, <20><> <20><>( <20><>S<>L<00><>!<00>0<><30> P<>00<30><30> <20><>0<><30>M+<2B><>N;<3B><>P<00><>4 <20><>@0<><30>D0<44><30>+<2B><>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
;<3B><> <0B><><1B><>
[<5B><><EFBFBD>U<> <20><>@D<>Q<><51>0<><30>v<EFBFBD><76><EFBFBD><10><><EFBFBD><00><>0<><30><10><><EFBFBD><00><>S<>U<> <20><><10><><EFBFBD><EFBFBD><EFBFBD>k<><6B><EFBFBD>H0<48><30>,<00><>(0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@D<>P<><50>0<><30> <20><>0<><30> <20><>U<><55><EFBFBD><EFBFBD>^<5E><><EFBFBD>$<24><><EFBFBD>X<><00><><EFBFBD>
<00><>3<EFBFBD><33><EFBFBD><EFBFBD>@<40><> <09><><EFBFBD>[<5B><><EFBFBD><00><>f<EFBFBD><66><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<00><>6<EFBFBD><36><EFBFBD>0<><30>S<>
T0<EFBFBD><EFBFBD><00><>^<5E><><EFBFBD>X<>
<00><><1F><><EFBFBD>0<><30>S<>
<00><>U<EFBFBD><55><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><00>BX<00><00>G-<2D><><EFBFBD>M<EFBFBD>@<40><><EFBFBD>@<40><><01><><EFBFBD>`<60><>P<><50>q<><71>G<EFBFBD><47><EFBFBD>(4<><34><08><><EFBFBD>$<04><>0<><30><10><><00><>p<><70> <0A><><EFBFBD><00>P<EFBFBD>Y4<><34><00><><EFBFBD>0<><30><00><>0<><30><00><><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00>P<EFBFBD><50>0<><30> <20><>R<><52>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<20><><00><><EFBFBD><13><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00>P<EFBFBD><50> <20><><EFBFBD> <0C> 0<><30><EFBFBD><03><><10><>\<5C><10><><10><><EFBFBD><03><><10><>0<10><>0<><30><EFBFBD><02><>0<><30><EFBFBD><13><>0<><30><0<><30>T0<54><30>0G<30>0<><30><EFBFBD><13><><00><>(<10><><EFBFBD>1<EFBFBD><31>0<><30>H0<48><30>8<EFBFBD><38><EFBFBD>0`<60><>4P<34><50>@`<60><>DP<44><50>L<EFBFBD><4C><EFBFBD>P<EFBFBD><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P<>T<00><>`<60><>P<><50> <20><>`<60><>P<><50> 0<><30><10><> <20><><EFBFBD><1B><> <20><><00><><EFBFBD>B<> <20><>`<60><>P<><50><EFBFBD>B<>`<60><>P<><50>p<><70><10><>+<2B><><EFBFBD>P<>5<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P<>%<1A>Ѝ<EFBFBD><D08D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>R<EFBFBD><52>(@<40><><10><>P<><50><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><> <20><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P<><50>,<10><>`<60><><00><>]<5D><><EFBFBD><10><><00><>f<EFBFBD><66><EFBFBD><00><>0<><30>P<>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>@"<22><>@2<><32><00><> <20><><10><>s<EFBFBD><73><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<12><><10><>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<22><>2<><32><00><> <20><><10><>g<EFBFBD><67><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><11><><10><>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><11><><10><>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><11><><10><>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Q<EFBFBD><51>(@<40><><10><>P<><50><00><>;<3B><><EFBFBD><00><>t<EFBFBD><74><EFBFBD><10><> <20><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<10><><00><>I<EFBFBD><49><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P<><50>,<10><>`<60><><00><><18><><EFBFBD><10><><00><>!<21><><EFBFBD><00><>0<><30>P<>
><3E><><EFBFBD>,!<21><>,1<><31><00><> <20><><10><>.<2E><><EFBFBD>0Q<30><51>(@<40><><10><>P<><50><00><><17><><EFBFBD><00><>P<EFBFBD><50><EFBFBD><10><> <20><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<10><><00><>%<25><><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P<><50>,<10><>`<60><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><>0<><30>P<>
<1A><><EFBFBD><EFBFBD> <20><><EFBFBD>0<EFBFBD><30><00><> <20><><10><>
<EFBFBD><EFBFBD><EFBFBD><00><>0<><30>P<>
<0F><><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><>*<2A><><EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>8<EFBFBD><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>OPQVI420<32>xp<00>R R7<00><><00><><EFBFBD><EFBFBD>Q<00>xQ$Q<00>PtP<00>P<00>O<00>G-<2D><02>M<EFBFBD>p<><70> <20><><EFBFBD>0<><30>TS<54><53> 0<><30>P<><50><EFBFBD>JH3<48><33>H<13><><02><><EFBFBD>`<60><>% <20><><10><><00><>8<EFBFBD><38><EFBFBD><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>$<13><> <20><><10><>@<40><>0<EFBFBD><30><EFBFBD><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30><00><><EFBFBD> 0<13>0<><30>|@<40><>T<><54>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
0<><30>S<>L
'<10><>
<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>t<EFBFBD><74><EFBFBD><EFBFBD>2<EFBFBD><32>@<40><><00><>^<5E><><EFBFBD><EFBFBD>"<22><><EFBFBD>2<EFBFBD><32> <20><><EFBFBD>$q<><71><10><><EFBFBD>"<22><><10><><10><><EFBFBD>2<EFBFBD><32> <10><> <20><><00><> <20><>0<><30>0<><30> <0B><><1B><>L <0B><>N<1B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P<>pp<><70><00><>z/<2F><>S<EFBFBD><53><EFBFBD><00><>M<EFBFBD><4D><EFBFBD>d<12><>$1<><31> !<21><><01><><EFBFBD><10><><00><><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><><00><>T<EFBFBD><54><EFBFBD>P<>Q4<12><>. <20><><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30> 0<13>0<><30>|p<><70>W<>8
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
0<><30>S<>
'<10><><00><>^<5E><><EFBFBD>5<EFBFBD><35><EFBFBD><00><>|<7C><><EFBFBD> P<>.<00><><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><>܍<><DC8D><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>1<EFBFBD><31> <20><>0<><30>R<>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<10><03><><EFBFBD>
<00><>
<10><>2<EFBFBD>/<2F><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>1<EFBFBD><31> <20><>0<><30>R<>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<10><03><><EFBFBD>
<00><>
<10><>2<EFBFBD>/<2F><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>T<11><><10><>p<><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD>H!<21><>H1<48><31><00><> <20><><10><>D<EFBFBD><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<11><><10><>p<><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!<21><>1<><31><00><> <20><><10><>7<EFBFBD><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><><10><>p<><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>0<EFBFBD><30><00><> <20><><10><>*<2A><><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><><10><>p<><70>w<EFBFBD><77><EFBFBD><EFBFBD> <20><><EFBFBD>0<EFBFBD><30><00><> <20><><10><><1E><><EFBFBD>`<60><>V<>|<7C><><EFBFBD>0<><30>0<><30>3<EFBFBD>/<2F><>0<EFBFBD><30>0<><30><10><><00><>%<25><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40><><00><>`<60><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>C<EFBFBD><43><EFBFBD>8t<00>HO<00>[<00>t<00><00><00><00>N<00>M<00><00>M0M<00>Lp@-<2D><08>M<EFBFBD><4D>@<40><><EFBFBD>0<EFBFBD><30>@<40><> `<60><>P<><50><00><>r<EFBFBD><72><EFBFBD>- <0B><> <0B><><00><><EFBFBD><EFBFBD><EFBFBD>0<><30>S<><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>p<><70><EFBFBD><EFBFBD>
<00><>O<EFBFBD><4F><EFBFBD><EFBFBD>0<EFBFBD><30>@<40><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <00><>P<>
{<7B><><EFBFBD><00><>P<>
u<EFBFBD><EFBFBD><EFBFBD><00><>P<>
q<EFBFBD><EFBFBD><EFBFBD><00><>P<>
$<24><><EFBFBD>0<><30>0<><30><00><>Ѝ<>p<EFBFBD><70><EFBFBD><00><>P<><50><EFBFBD><EFBFBD><00><>Ѝ<>p<EFBFBD><70><EFBFBD><00><><05>p<00><00>p@-<2D> <0C>-<2D><>@<40><><EFBFBD>0<EFBFBD><30>@<40><>@۰<>P<><50><41>U<>B<EFBFBD><42><EFBFBD>C<EFBFBD><43><EFBFBD>D<EFBFBD><44><EFBFBD>E<EFBFBD><45><EFBFBD>
\0<><30><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P<>L0<4C><30>U<>0<><30>ۃ<>˃<><04><><EFBFBD><06><><EFBFBD><08><><EFBFBD>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<EFBFBD><EFBFBD><EFBFBD>
<0C><><EFBFBD>0<><30><00><>p@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <0C><><EFBFBD>p<EFBFBD><70><EFBFBD>D<EFBFBD><44><EFBFBD><EFBFBD>o<00>P`<00><10><><EFBFBD>0<EFBFBD><30><04>-<2D><10><> <0C>M<EFBFBD> <20><>0<><30><00><>P<><00>
0<><30>x <20><><EFBFBD>:<07>k<><6B> <20><>[<5B><><EFBFBD> <0B><>0<><30>K<><4B>+<2B><><EFBFBD>:<07>g;<3B><><EFBFBD><1B><><EFBFBD>q<><71> a<><61>+@<40><>{<7B><><EFBFBD><17><06><><EFBFBD>p<00><> Ѝ<><04><><EFBFBD><00><><00><>.A@<40>@{<14>G<EFBFBD>z<EFBFBD>?@<40>@<40>n<00>p00<30><30>0<00><>0<><30>0<><30><00><>P<>
@-<2D><10><><1E><><EFBFBD>p<00><><10><><EFBFBD><00><><1E>/<2F>Dn<00>T0<54><30>T<10><><04>-<2D>0<><30> <0C>M<EFBFBD> <20><>0<><30><00><>P<><00>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<EFBFBD>*<00><1B><><EFBFBD> <0B><><EFBFBD> `<60><> <0B><>`
<EFBFBD><EFBFBD>]<5D><><EFBFBD>p<00><> Ѝ<><04><><EFBFBD>{<14>G<EFBFBD>z<EFBFBD>?n<00>`<10><>`0<><30><10><> <20><>0<><30><EFBFBD> <20><><00><>"b<>P<>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
@0<><30><EFBFBD> <20><>0<><30><11><>Q<>
@-<2D><10><>!<21><>n<EFBFBD><6E><EFBFBD>p<00><><10><><EFBFBD><00><><1E>/<2F><00><><1E>/<2F><>m<00><00>p@-<2D>P<><50>T@<40><>T0<54><30>@<40><>`<60><>V<>
D0<EFBFBD><EFBFBD><00><><08><><EFBFBD>P<>
40<34><30>P<><50>P<>0<><30>V<>P<><50>p<EFBFBD><70>0<><30><00><>p@<40><>D<EFBFBD><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>$m<00><00>h<00>C-<2D> <0C>M<EFBFBD><4D>@<40><><EFBFBD>0<EFBFBD><30>@<40><>0<><30><00><>P<>
<20><> <10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30>P<><50>U<>
<EFBFBD>0<EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P<>x0<78><30><EFBFBD>`<60><>0<><30><EFBFBD> <20><>`V<>p<><70>V<>0<><30><06><><EFBFBD><07><><EFBFBD><00><><EFBFBD><00><><EFBFBD>U<>
<0<><30><00><><19><><EFBFBD><00><> <10><> Ѝ<><D08D><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><00><><EFBFBD><00><> <10><> Ѝ<><D08D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><7F><EFBFBD><EFBFBD>l<00><00><00><00><00>@-<2D><02>-<2D><>C<EFBFBD><43><EFBFBD><13><>@<40><><EFBFBD>3<EFBFBD><33> <0C>M<EFBFBD><00><><00><><EFBFBD><04><><EFBFBD><00><>`<60><>p<><70> V<>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>P<><50>0<><30>W<>0<><30><EFBFBD>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
x3<EFBFBD><EFBFBD>P<><50>0<><30>S<>a
<00><>P<>i<00>0@<40>S<>(<28><><EFBFBD><EFBFBD><00> <11><> 0<><30><12><>Q<00><><EFBFBD>*c<>Q<><51> `<60><><EFBFBD><EFBFBD>0<><30>P<>P <20><><EFBFBD>H<EFBFBD><48><EFBFBD> d<><64>$<24><><EFBFBD> b<><62>+<10>
<11><><01><><EFBFBD>P<><50><02><11><> <00><10><>0<><30><01><><EFBFBD>P<><50><02><00><01><><EFBFBD>0<><30><10><>P<><50><02>0<>œ<02>R<>D
W<>^8<00><>n<EFBFBD><6E><EFBFBD><EFBFBD>2<EFBFBD><32>P<><50> <20><><10><><08><><EFBFBD>0<EFBFBD><30><EFBFBD>$0<><30><00><><EFBFBD>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
`<60><>
B<EFBFBD><EFBFBD>
`<60> <00><><EFBFBD>
B<EFBFBD>S<> <20><> <00><>(<28><><EFBFBD>,<2C><><EFBFBD>$0<><30><00><>4 <20><>0 <20><>
0<><30><EFBFBD><07><>/<2F><> <20><><EFBFBD><0F><>P<><50><EFBFBD><EFBFBD><1A><07><00><>P<>5<00>, <20><>,0<><30><10><><10><> <20><> <20><>0<><30>[<5B><EFBFBD><EE9880>S<> Q<> Ѝ<><02><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><><EFBFBD><00><>P<><50><EFBFBD><EFBFBD>
V<><56><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> Q<> Ѝ<><02><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30> <20><><EFBFBD><02>R<><52><EFBFBD><EFBFBD>W<><57><EFBFBD><EFBFBD>
<10><><EFBFBD>0<><30>S<><53><EFBFBD><EFBFBD> Q<> Ѝ<><02><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|1<><31> <10><><00><><08><><EFBFBD>d1<64><31>P<><50>0<><30>S<><53><EFBFBD><EFBFBD>
<00><>P<>z<EFBFBD><7A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30><00><>0<><30>I<EFBFBD><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>8<00><><0F><><EFBFBD>@<40><>$0<><30> <20><><10><> <00><><EFBFBD>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
a<EFBFBD><EFBFBD>
B<EFBFBD><EFBFBD>
a<EFBFBD><EFBFBD>
B<EFBFBD> <20><>0<10><>( <20><>S<> <20><>4 <20><>0 <20><> <00><>,<10><>$0<><30> <20><>
0<><30><EFBFBD><07><>/<2F><> <20><><EFBFBD><1F><>Q<><51><EFBFBD><EFBFBD><1A><07> <20><>R<><00>, <20><>,0<><30><10><><10><> <20><> <20><>K<><EFBFBD><EE9880><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><00><><EFBFBD><10><>0<><30><EFBFBD><02>d<EFBFBD><64><EFBFBD>0<><30><10><><00><>0<><30><12><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><>8<10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>S<>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<00><>P<>
V<>
<1C><><EFBFBD><16><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><>8<10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>k<00><00>X<00><00><00><><1E>/<2F>@-<2D>@<40><><00><>P<>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><10><><EFBFBD>p@-<2D>P<><50>$@<40><> 04<30>S<>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>U<><55><EFBFBD><EFBFBD><00><>p<EFBFBD><70><EFBFBD>U<><55><EFBFBD><EFBFBD><00><>p<EFBFBD><70><EFBFBD>0<><30>S<><1E>/@-<2D><><EFBFBD><EFBFBD><EFBFBD>$0<><30>@-<2D>S<>@<40><>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
0<><30><EFBFBD><07><>/<2F><>B<><42>σ<EFBFBD>\<5C><><EFBFBD><EFBFBD>R<><52><07>
 <20><>0<><30>R<>$0<><30> <20><>P<00><><EFBFBD>
B<EFBFBD><00>( <20><><00><> B<><00><><10><>0<><30>Q<><51><EFBFBD><EFBFBD><EFBFBD>,<00><>00<30><30>P<>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>T<EFBFBD><54><EFBFBD><EFBFBD>3<EFBFBD><33><EFBFBD>#<23><>0<><30><EFBFBD>O-<2D> <0C>M<EFBFBD>`<60><>@<40><>P<><50>0<><30>S<><53><00><>1<EFBFBD><31><00><>3<EFBFBD>/<2F>P<>$<1A>1<EFBFBD><31><00><>3<EFBFBD>/<2F>P<>1<><31>S<>\<5C><><EFBFBD>\s<><73>\<5C><><EFBFBD> <09><><EFBFBD>p<><70>
<EFBFBD><EFBFBD><EFBFBD><10><><EFBFBD><EFBFBD><00><>^<5E><><EFBFBD> 0<><30><00><>A<EFBFBD><41><EFBFBD>P<><00><>
G<EFBFBD><EFBFBD><EFBFBD>P<><50><EFBFBD><EFBFBD>
0<><30> <20><>S<><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>5<EFBFBD><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>9<EFBFBD><39><EFBFBD><00><>/<2F><><EFBFBD>P<><50><EFBFBD><EFBFBD><1A>1<EFBFBD><31><00><>3<EFBFBD>/<2F>0<><30>S<>{<00><00><> Ѝ<><D08D><EFBFBD><EFBFBD><EFBFBD>1<><31>S<>
<00><><1F><><EFBFBD><00>P<EFBFBD><50><EFBFBD><EFBFBD><00><>~<7E><><EFBFBD>1<><31>S<><53><EFBFBD><EFBFBD>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD>S<>
<10><><00><>3<EFBFBD>/<2F>P<>(<1A>1<EFBFBD><31>S<>
<10><><00><>3<EFBFBD>/<2F>P<>&<1A>1<EFBFBD><31>S<>
<10><><00><>3<EFBFBD>/<2F>P<>=<1A>1<EFBFBD><31>S<>
<10><><00><>3<EFBFBD>/<2F>P<>S<1A><01><>P<>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>h1<EFBFBD><EFBFBD><EFBFBD>S<>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<EFBFBD><02><><1<><31>3<EFBFBD>/<2F><>1<EFBFBD><31><00><>3<EFBFBD>/<2F>P<><50><EFBFBD><EFBFBD>
X<00>0<><30>S<>L<00>0<><30>1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>S<><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD>!<21><>0<><30><00><>0<><30> <20><><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>E<00>p1<70><31>S<><53><EFBFBD><EFBFBD>x1<78><31>S<><53><EFBFBD><EFBFBD><1A>1<EFBFBD><31>S<><53><EFBFBD><EFBFBD>0<><30>S<><53><EFBFBD><EFBFBD><EFBFBD> 0<><30>
<20><><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>S<><53><EFBFBD><EFBFBD><EFBFBD>01<30><31>0!<21><>0<><30><00><>0<><30> <20><><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>&<00>1<><31>!<21><>P<><50>0<><30> <20><><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD> <20><><00><> <20><><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><> Ѝ<><D08D><EFBFBD><EFBFBD><EFBFBD>0<><30>S<><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30><EFBFBD> <20><>0<><30><00><>0<><30> <20><><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><>0<EFBFBD><30><EFBFBD> <20><>0<><30><00><>0<><30> <20><><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>S<><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30><EFBFBD> <20><>0<><30> <20><> 0<><30><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>0<><30>R<>1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>X <20><><10><> <20><><00><>z<EFBFBD><7A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>f<00><00>BC<00>C<00>@<00>AD@HA@<00>@<00>A<00>?<00>@<00>?T@t?<00>@<00>@p@-<2D>8P<38><50><EFBFBD>0<EFBFBD><30>!<21><>0<><30>R<>p<EFBFBD><70> <20><>@<40><>R<> <1A> <20><> <20><>0<><30>S<><00>0<><30><00><>1<><31>p@<40><>W<EFBFBD><57><EFBFBD> <20><>R<>
<00><>p@<40><>+<2B><><EFBFBD>T <20><> <20><>0<><30>S<> <00><00><>p@<40><>I<EFBFBD><49><EFBFBD>0<><30><00><>0 <20><><10><> <20><>=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30><00><> <20><><10><> <20><>6<EFBFBD><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>b<00>@@<00>1<EFBFBD><31><EFBFBD>!<21><>0<><30>p@-<2D><08>M<EFBFBD>P<><50>`<60><>@<40><>0<><30>S<>:<00> <20><><10><><00><><1E><><EFBFBD>P<>
0<><30>S<><00><00><>Ѝ<>p<EFBFBD><70><EFBFBD><EFBFBD>!<21><><00><> <20><><10><><15><><EFBFBD><00><>Ѝ<>p<EFBFBD><70><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>P<>+S<>$ <20><>@<40><><EFBFBD>b<>$<10><>( <20><>,0<><30><EFBFBD>C<>+<00><00><>=<3D><><EFBFBD>P<> <00><>0
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>P<><00><>6
<11><>8`<60><><00><><10><>}<7D><><EFBFBD>P<><50><EFBFBD><EFBFBD>
0<><30>S<><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><00><> <20><><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30><EFBFBD> <20><>0<><30><10><>@0<><30> <20><><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>S<><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><00><> <20><><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>0<><30> <20><><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<10><>0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>S<><53><EFBFBD><EFBFBD><EFBFBD>` <20><><00><> <20><><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>S<><53><EFBFBD><EFBFBD><EFBFBD>< <20><><00><> <20><><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>b<00><00>?@<40><><EFBFBD><EFBFBD>?<00><<00>>? ???p@-<2D>P<><50><EFBFBD>@<40><><1D><><EFBFBD><EFBFBD> <20><>@<40><>0<><30><EFBFBD><00><>@<40><><00><><10><>&<26><><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><00><>S<>0<>0<><10><>0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P<> <20><><10><>q<0F><><03><><EFBFBD>p<>
<20><><10><>u<0F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>p<>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<EFBFBD>1<EFBFBD><EFBFBD>S<>
0<><30>S<><00>p0<70><30>p <20><>0<><30><00><>`0<><30> <20><><10><><EFBFBD><7F><EFBFBD><00><>p<EFBFBD><70><EFBFBD><12><><EFBFBD>P<><50><EFBFBD><EFBFBD><1A><><EFBFBD><EFBFBD><00><>B<EFBFBD><42><EFBFBD>P<>p<EFBFBD><70><08><><EFBFBD><EFBFBD> <09><><EFBFBD>P<><50><EFBFBD><EFBFBD><1A><><EFBFBD><EFBFBD><05><><EFBFBD>P<><50><EFBFBD><EFBFBD><1A><><EFBFBD><EFBFBD><EFBFBD>_<00><00>>`;P><00>0<EFBFBD><30><EFBFBD> <20><>0<><30>@-<2D>@<40><><00><>0<><30>S<><00> <00><>P<>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30> 0<><30><00><>P<>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>0<><30><EFBFBD>1<EFBFBD><31>S<>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<00><>3<EFBFBD>/<2F><>1<EFBFBD><31>S<>
<00><>3<EFBFBD>/<2F><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>q<0F><>P<EFBFBD><50><EFBFBD>u<0F><>@<40><>M<EFBFBD><4D><EFBFBD> 0<><30> <20><>0<><30>p0<70><30> <20><><10><>:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>^<00>H:H=0@-<2D>.<2E><><14>M<EFBFBD><10><>@<40><><07><><EFBFBD><EFBFBD>P<EFBFBD><50><EFBFBD><10><>P<><50>0<><30><EFBFBD> <20><>0<><30>(!<21><>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<0A><>><3E><>| <20><>$1<><31> <01><><00><>p<10><><EFBFBD><01><><00><>h <20><><EFBFBD><01><><00><>`<10><><00><><00><>X <20><><00><><00><>P<10><><00><><00><>H <20><> <00><><EFBFBD>
m<EFBFBD>i<0F><><EFBFBD>
@<40><10><>0<><30><EFBFBD><11><>0<><30><EFBFBD>1<EFBFBD><31>Ѝ<>0<EFBFBD><30><EFBFBD><EFBFBD>]<00><00><00> l<00><00><00>p@-<2D>@<40><><EFBFBD>P<EFBFBD><50><00><><11><><EFBFBD>1<><31>``<60><>S<>`<60><>p<EFBFBD><70><00><>S<EFBFBD><53><EFBFBD>L0<4C><30><00><>0<><30>S<> <00>0<><30>1<><31><00><><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><>p@<40><>D<EFBFBD><44><EFBFBD> <20><><10><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ]<00><00>;<00>0<EFBFBD><30><EFBFBD> <20><>0<><30>0@-<2D> <0C>M<EFBFBD>@<40><>P<><50>0<><30>S<><00><>0<EFBFBD><30><EFBFBD><10><>P<><50><00><>0<><30> <20><><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P<>
0<><30>S<><00><><00> Ѝ<>0<EFBFBD><30><EFBFBD>\0<><30>\ <20><>0<><30><00><><EFBFBD>0<EFBFBD><30><00><> <20><><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><> Ѝ<>0<EFBFBD><30><EFBFBD>40<34><30>4 <20><>0<><30> <20><><EFBFBD>0<EFBFBD><30><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\<00><00><><EFBFBD><EFBFBD><EFBFBD>;H8h;8;<00>2<EFBFBD><32><EFBFBD>Ÿ<EFBFBD>0<><30><EFBFBD>@-<2D><14>M<EFBFBD> P<><50>@<40><>`<60><>0<><30>p<><70>S<>/<00>P1<50><31>S<>^
<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P<>T<01><>d
<20><><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P<>*
0<><30>0<><30><10><>0<><30> <20><>T<01><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P<>)
0<><30>P!<21><><10><>T<01><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P<>X<01><>Y
0<><30> <20><><10><>T<01><>)<29><><EFBFBD>P<>\<01><>d
X!<21><>0<><30><10><>T<01><>c<EFBFBD><63><EFBFBD>P<><00>(
Ѝ<><D08D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD>!<21><>0<><30> <20><><10><><00><>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>S<>G<00><00><><EFBFBD>1<EFBFBD><31>3<EFBFBD>/<2F><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>S<><53><EFBFBD><EFBFBD><EFBFBD>T1<54><31>T!<21><>0<><30> <20><><10><><00><>N<EFBFBD><4E><EFBFBD>0<><30>S<><53><EFBFBD><EFBFBD><EFBFBD>]<5D><><EFBFBD>01<30><31>0!<21><>0<><30> <20><><10><><00><><00><>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>S<><53><EFBFBD><EFBFBD><EFBFBD>1<><31>!<21><>0<><30> <20><><10><><00><>7<EFBFBD><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>S<><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30><EFBFBD> <20><>0<><30> <20><><10><><00><>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>S<><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30><EFBFBD> <20><>0<><30> <20><><10><><00><>!<21><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>S<><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30><EFBFBD> <20><>0<><30> <20><><10><><00><><16><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30><EFBFBD> <20><>0<><30> <20><><10><><00><><0E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>S<><53><EFBFBD><EFBFBD><EFBFBD>`0<><30>` <20><>0<><30> <20><><10><><00><><03><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<00><:<00>9<00>9<00>;<00>9<<00>9<00>;h9<00>:<9<00>:9<00>:<00>8<00>:<00>8<00>:<04>-<2D> <0C>M<EFBFBD><10><> <00><><16><><EFBFBD>P<>z<> +<2B>
<1B> <0B><1D> <0B>z<> <0A> <0B>" <0E>  Ѝ<><04><><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MbP?@<40>@<00>0<EFBFBD><30><EFBFBD> <20><>0<><30>p@-<2D>@<40><><00><>0<><30>S<>*<00>Y<1F><><00><>P<><50>d<EFBFBD><64><EFBFBD>h<11><>T<01><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<1F><>hQ<68><51><00><>]<5D><><EFBFBD>p<11><>T<01><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]<1F><>pQ<70><51><00><>V<EFBFBD><56><EFBFBD>x<11><>T<01><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<1F><>xQ<78><51><00><>O<EFBFBD><4F><EFBFBD><EFBFBD><11><>T<01><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30> <20><><10><><EFBFBD>Q<EFBFBD><51>T<01><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\<11><>T<01><>F<EFBFBD><46><EFBFBD>X<11><>T<01><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>T<01><>p@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0<><30> <20><>0<><30>0<><30> <20><><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>X<00>$7<00>6<00>1<EFBFBD><31><EFBFBD>G-<2D>0<><30>0 <20><>@<40><>F<EFBFBD><46><EFBFBD><00><>P<EFBFBD>M<EFBFBD><16><>$p<><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Q<EFBFBD><51><00><>0`<60><><0E><><EFBFBD>(<28><><EFBFBD>$<11><> <20><>(<28><><EFBFBD>@<40><><EFBFBD>D<EFBFBD><44><EFBFBD>H<EFBFBD><48><EFBFBD>L<10><> <20><>0 <20><> <20><> <20><><05><><EFBFBD><00><>P<>#<00> Ƞ<><18><><00><>8<EFBFBD><38><EFBFBD><<10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P<>@<01><>+
<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00>P<EFBFBD>,
P<><50> p<><70>`<60><>P<><50>P<><50>P<><50>P<><50> <20><>@0<><30>@<11><>0<EFBFBD><30><EFBFBD>P<>(
D<01><>H <0B><> <00><>R <0B><><17><><EFBFBD><00><>Q?<3F><>P1<50><31><50><D08D><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20><> <20><><EFBFBD> <20><><10><><18><><EFBFBD><10><><14><><EFBFBD><10><><EFBFBD><0<><30> <20><><00><>E<EFBFBD><45><EFBFBD>H<EFBFBD><48><EFBFBD>L<10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>S<><00><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>S<><53><EFBFBD><EFBFBD><EFBFBD>d <20><><00><> <20><><10><>5<EFBFBD><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>S<><53><EFBFBD><EFBFBD><EFBFBD>D <20><><00><> <20><><10><>,<2C><><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><00><> <20><><10><>%<25><><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>6hW<00>0808,8<00>7X0<58><30>X <20><>0<><30>@-<2D>@<40><><00><>0<><30>S<><00>@<01><>P<><10><>e<><65><EFBFBD>0<><30>@1<><31><10><><EFBFBD> 0<><30> <20><>0<><30>`0<><30> <20><><10><><05><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>U<00><00>4t4@-<2D>Y<1F><>@<40><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<1F><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]<1F><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_<1F><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><10><><EFBFBD><EFBFBD>@-<2D>`<60><>|@<40><>D<EFBFBD>M<EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> P<><50><00><><05><><EFBFBD><EFBFBD>@<40><>`q<><71><00><>W<><00><><00><><00><><00><><00><>0<><30>0<><30> 0<><30><00><><10><10> <20><><00><>0<EFBFBD><30><EFBFBD>P<><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><44><D08D><EFBFBD><EFBFBD><EFBFBD>T4e<><00>A-<2D>p<><EFBFBD><E1A880>@<40>M<EFBFBD><08><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> `<60><><00><><06><><EFBFBD><EFBFBD>@<40><> P<><50><00><><00><><00><><00><><00><><00><>p0<70><30>@<40><>l<EFBFBD><6C><EFBFBD>0<><30>@<40><>`A<><41><00><>T<><00><>@<40>0<><30>S<> <00> <20><><10><><00><><04><><EFBFBD>P<><00><>^<5E><><EFBFBD><><D08D><EFBFBD><EFBFBD><EFBFBD> <20><>A?<3F><> <20><><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3$T<00><00>2<00><><EFBFBD><EFBFBD><EFBFBD>A-<2D> <0C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>`<60><>@<40><><00><><08>M<EFBFBD>p<><70>0<><30> <10><>S<><02><><EFBFBD> P<><50><00><10><><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><>Q<>
<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>0<><30>@<40><>0<><30> <20><><10><><00><>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><><00><>8<00><>g<EFBFBD><67><EFBFBD><00><>Ѝ<><D08D><EFBFBD><EFBFBD><EFBFBD>(0<><30> <20><>$ <20><>0<><30>><3E><> <20><><10><>j<EFBFBD><6A><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>S<00>e<>`2D5<04>-<2D> <0C>M<EFBFBD>Z?<3F><>0<><30> <20><>Y?<3F><> <10><>T<01><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ѝ<><04><><EFBFBD><EFBFBD>0<EFBFBD> <04>-<2D> <0C>M<EFBFBD>><3E><>0<><30> <20><>[?<3F><> <10><>T<01><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ѝ<><04><><EFBFBD><EFBFBD>0<EFBFBD> <04>-<2D> <0C>M<EFBFBD>^?<3F><>0<><30> <20><>]?<3F><> <10><>T<01><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ѝ<><04><><EFBFBD><EFBFBD>0<EFBFBD> <04>-<2D> <0C>M<EFBFBD>=<3D><>0<><30> <20><>_?<3F><> <10><>T<01><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ѝ<><04><><EFBFBD><EFBFBD>0<EFBFBD> <00><><1E>/<2F><00><><1E>/<2F><1E>/<2F>0<><30>P<><1E>/!A<>0<><30><10><><10><><00><> P<>0P<30><00><> @<40>0@<40>P<><50><EFBFBD><EFBFBD><1E>/<2F><>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>p@-<2D>@<40><> <00><>P<><50>`<60><>0<><30><10>M<EFBFBD>S<> <11><>$!<21><><00><><00><10><><01><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P<><00><>%
<EFBFBD> <20><><EFBFBD>0<EFBFBD><30><10><><00><> <20><>0<><30><00><>$1<><31> !<21><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P<>Ѝ<>p<EFBFBD><70><EFBFBD>l0<6C><30><00><>h <20><><04><><EFBFBD>0<><30> <20><><10><>=<3D><><08><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <11><>$!<21><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><>0<><30>P<>0<><30>
;<3B><><EFBFBD>0<><30>0<><30><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Q<00>|0t3<00>O-<2D>A<EFBFBD>M<EFBFBD><04>M<EFBFBD>0<EFBFBD><30><EFBFBD>@P<>0<><30> 0<><30><08><><EFBFBD><EFBFBD>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
0<><30>S<><53>
0<><30>S<><53>
<00><><EFBFBD>0<EFBFBD><30><EFBFBD><03><><EFBFBD>C<><43><EFBFBD><EFBFBD><EFBFBD>p<><70>0<><30> <20><><10><>PG<50><47><00><><1B><><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><13><><EFBFBD><00><> <0C><><EFBFBD>0<><30>S<><53>
<EFBFBD><03><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>`<60><>0<><30> <20><><10><><EFBFBD><00><>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><13><><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>S<><53>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>P<13><><EFBFBD><00><>e<EFBFBD><65><EFBFBD>0<><30>S<><53>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<<3C><><EFBFBD>D<EFBFBD><44><EFBFBD> <0B><><EFBFBD>
P<EFBFBD><EFBFBD><EFBFBD>p<><70><00> U<>
0<><30>S<>
<EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<><33>p<><70><00><>,
0<><30>p<><70> <20><>R<><52><EFBFBD><EFBFBD><EFBFBD><00><> <20><><00><><10><>0<><30>y<EFBFBD><79><EFBFBD> U<><55><EFBFBD><EFBFBD><1A>R<EFBFBD><52>p<><70>P<><50><00>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
V<>
0<><30>S<>
<EFBFBD><00><><05><><EFBFBD><EFBFBD>2<EFBFBD><32>p<><70><00><>1
0<><30>p<><70> <20><>R<><52><EFBFBD><EFBFBD><EFBFBD><00><> <20><><00><><10><>0<><30>]<5D><><EFBFBD>
V<><56><EFBFBD><EFBFBD><00><><41>Ѝ<><D08D><EFBFBD><EFBFBD><EFBFBD>P<><50>0<><30>S<> <00><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><41>Ѝ<><D08D><EFBFBD><EFBFBD><EFBFBD>p<><70>"<22><>1<><31> <20><><10><><00><>B<EFBFBD><42><EFBFBD>0<><30>S<><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD>!<21><>0<><30><00><>W?<3F><> <20><><10><>7<EFBFBD><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P<><50>0<><30>S<><53><EFBFBD><EFBFBD><EFBFBD>p<><70><EFBFBD>!<21><>1<><31> <20><><10><><00><>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><11><>0<><30>0<><30><EFBFBD><01><><EFBFBD>1<EFBFBD><31><10><>0<><30>W<1F><><EFBFBD>!<21><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>S<>K<EFBFBD><4B><1A>1<EFBFBD><31><EFBFBD><11><>0<><30>0<><30>x<01><>x1<78><31><10><>0<><30>W<1F><>.<2E><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>S<>
0<><30>S<><<3C><> 1<><31>P<><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><1<><31><<11><>0<><30>0<><30>4<01><>41<34><31><10><>0<><30>W<1F><>(!<21><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>S<><53><EFBFBD><EFBFBD>
0<><30>S<>'<27><><1A><><EFBFBD><EFBFBD><EFBFBD><00><>0<><30> G<><1B><>N<EFBFBD><4E><EFBFBD><EFBFBD>0<EFBFBD><30>P<><50>0<><30>S<><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>0<><30> <20><><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>p0<70><30>P<><50>0<><30>S<><00><> <20><><10><> <20><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30> G<><1B><><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>S<>|<7C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30> G<><1B><><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P1<><00><>0<><00><><00>2<00>\281<00>-<00>11`04-00<00>,<00>(0<00>,<00>/<00>,<00>/<00>,<00>/P,<00><00>/l/@-<2D>@P<><08>M<EFBFBD>*
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<EFBFBD><10><><00><>0<><30>0<><30>0<><30>0<><30>`0<><30>/ <0B><>0<1B><><1C><><EFBFBD><EFBFBD>
D<EFBFBD>P<00><><EFBFBD>
L<EFBFBD><EFBFBD><08><><EFBFBD><08><><00><><10><><EFBFBD>%<25><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><07><> <20><><EFBFBD><07><><EFBFBD><10><>T0<54><30>d0<64><30>l0<6C><30>h0<68><30><EFBFBD>0<EFBFBD><30><EFBFBD>0<EFBFBD><30><EFBFBD>0<EFBFBD><30><EFBFBD>0<EFBFBD><30><EFBFBD>0<EFBFBD><30><EFBFBD>1<EFBFBD><31><EFBFBD>1<EFBFBD><31><EFBFBD>1<EFBFBD><31><EFBFBD>1<EFBFBD><31>X<10><>\<10><><EFBFBD>!<21><><EFBFBD>!<21><>Ѝ<><10><><EFBFBD>@ <20><>@0<><30>@<10><>@<00><> <20><> <20><>0<><30>- <20><><10><><00><><16><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><>2<00>?d/8*<00>.</0@-<2D>@P<> <0C>M<EFBFBD>P<><50>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
U<>o<11><02>
Ѝ<>0<EFBFBD><30><EFBFBD>t0<74><30>t<10><>0<><30>0<><30>l<00><>l0<6C><30><10><><00><> <10><>0<><30>Y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>U<>o<11><02><11><><EFBFBD>D0<44><30>D<10><>0<><30>0<><30><<00><><0<><30><10><> <10><>0<><30>Z <20><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><> Ѝ<>0<EFBFBD><30><EFBFBD><EFBFBD>/$.<00>.<00>)<00>.<00>-t.l)<00>0<EFBFBD><30>P<>0<><30>
d <20><><EFBFBD>R<><04>-<2D> <0C>M<EFBFBD><00>l <20><><00><>0<><30>S<><00><00><> Ѝ<><04><><EFBFBD>P <20><><10><> <20><>"<22><><EFBFBD><00><> Ѝ<><04><><EFBFBD>d0<64><30>0<><30>0<><30><10><><00><>$<10><> <13>L<EFBFBD><4C><EFBFBD> Ѝ<><04><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><1E>/<2F>Jd./<00>0<EFBFBD><30>P<>0<><30>
d <20><><EFBFBD>R<><04>-<2D> <0C>M<EFBFBD><00>l <20><><00><>0<><30>S<><00><00><> Ѝ<><04><><EFBFBD>P <20><><10><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><> Ѝ<><04><><EFBFBD>d0<64><30>0<><30>0<><30><10><><00><>$<10><> <13>#<23><><EFBFBD> Ѝ<><04><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><1E>/<2F>xId<00>-,<00>0<EFBFBD><30>P<>0<><30>
d <20><><EFBFBD>R<><04>-<2D> <0C>M<EFBFBD><00>l <20><><00><>0<><30>S<><00><00><> Ѝ<><04><><EFBFBD>P <20><><10><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><> Ѝ<><04><><EFBFBD>d0<64><30>0<><30>0<><30><10><><00><>$<10><> <13><><EFBFBD><EFBFBD><EFBFBD> Ѝ<><04><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><1E>/<2F><>Hd<00>,-<00>0<EFBFBD><30>P<>0<><30>
dQ<><04>-<2D> <0C>M<EFBFBD><00>l <20><><00><>0<><30>S<><00><00><> Ѝ<><04><><EFBFBD>P <20><><10><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><> Ѝ<><04><><EFBFBD>d0<64><30>0<><30>0<><30><10><><00><>$<10><> <13><><EFBFBD><EFBFBD><EFBFBD> Ѝ<><04><><EFBFBD>~<7E><><EFBFBD><00><><1E>/<2F>0Hdt,.P<>
@-<2D> <20><><00><><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40><>o<EFBFBD><6F><EFBFBD><00><><1E>/<2F>0<04>-<2D><14>M<EFBFBD>P<> <0B><><10><> <0B><><00>
<10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>`<60><><EFBFBD>Ѝ<><04><><EFBFBD> P<>
@-<2D> <20><><00><><10><>m<EFBFBD><6D><EFBFBD>@<40><>S<EFBFBD><53><EFBFBD><00><><1E>/<2F>P<>
@-<2D> <20><><00><><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40><>G<EFBFBD><47><EFBFBD><00><><1E>/<2F> <04>-<2D><14>M<EFBFBD>P<> <0B><><10><> <0B><><00>
<10><><00><>z<EFBFBD><7A><EFBFBD>8<EFBFBD><38><EFBFBD>Ѝ<><04><><EFBFBD> <04>-<2D><14>M<EFBFBD>P<> <0B><><10><> <0B><><00>
<10><><00><>j<EFBFBD><6A><EFBFBD>(<28><><EFBFBD>Ѝ<><04><><EFBFBD> <04>-<2D><14>M<EFBFBD>P<> <0B><><10><> <0B><><00>
<10><><00><>Z<EFBFBD><5A><EFBFBD><18><><EFBFBD>Ѝ<><04><><EFBFBD> <00><><EFBFBD><EFBFBD>0@-<2D> <0C><><EFBFBD>D<EFBFBD><44><EFBFBD>@<40><><1C>M<EFBFBD><00><> P<><50><05><><EFBFBD>T<><00><><00><><00><><00>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
@
<EFBFBD><EFBFBD><10><><EFBFBD>@
<EFBFBD><EFBFBD>0<>0<><10><><EFBFBD>0<>S<><00>
Ѝ<>0<EFBFBD><30><EFBFBD>z<><7A>8<><38><10><><00><>'
<20><>
`<60>0<><30> 0<><30><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѝ<>0<EFBFBD><30><EFBFBD><00>G|)<04>-<2D><14>M<EFBFBD>P<>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<0B><><10><> <0B><><00>
<10><><00><><1D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѝ<><04><><EFBFBD><00><> `<60><><EFBFBD>0@-<2D> <0C><><EFBFBD>\<5C><><EFBFBD>@<40><><1C>M<EFBFBD><01><><EFBFBD><00><> P<><50><05><><EFBFBD>T<><00><><00>
0<><30><10><> <20><><00><><EFBFBD>c<> 0<><30><EFBFBD>C<> <20><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѝ<>0<EFBFBD><30><EFBFBD><EFBFBD>(<00>A-<2D>0<><30><EFBFBD>@<40><>`<60><> <00><><EFBFBD><13><>|P<><50><10><><EFBFBD>/<2F><>A$b<><00><><EFBFBD> <20><><10><>"b<><62>1C<31><43>#<23><>@<40><><EFBFBD>?<3F><>DCc<43><63>@<40><>Bd<42><64>@<40><> <20><><1C><><EFBFBD> 0<><30> <20><><10><>p<><70><00><><16><><EFBFBD> 0<><30> <20><><10><><00><><11><><EFBFBD><00><><EFBFBD>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>` <0B><00>0<EFBFBD><30>0@-<2D>0<><30>p0<70><30><01><><EFBFBD><02><><EFBFBD>P<><50><00><><14>M<EFBFBD>\<5C>^@<40><>0<><00><> 0<>\<5C>0<> 0<>^<5E>0<> 0<> 0<><30><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0<><30><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0<><30><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>o<EFBFBD><6F><EFBFBD>Ѝ<>0<EFBFBD><30><EFBFBD>x' <0B><><04>-<2D>L<EFBFBD>M<EFBFBD>d <20><> <20>0<><30> !<21>0<10><> +"<22>0 <20><> ;#<23>40<34><30><EFBFBD> <0B><><EFBFBD><1B><><EFBFBD>+<2B><><EFBFBD>;<3B><>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<EFBFBD><EFBFBD><1A><>*<2A><>:<3A><><EFBFBD>
m<EFBFBD> <0B><><1B><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>R<EFBFBD><52><EFBFBD><4C><04><><EFBFBD><00>@%<00>A-<2D> <20>M<EFBFBD>`<60><>@<40><><01><><EFBFBD><00><><10><>b <0B><>P<><50> <0B><><03><><EFBFBD><EFBFBD>q<EFBFBD><71>p<><70>0P<30>*X<>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
X<>G
X<>O<04><> <0B><><10><><00><><EFBFBD>;<3B><> <0B><>r<EFBFBD><72><EFBFBD>0<EFBFBD><30><EFBFBD>P<>'z<><7A>K+<2B><><EFBFBD><1B><>z<><7A><EFBFBD> <0B><><EFBFBD>a<><61> `<60><1B><><1B><> <0B><> <0B><> Ѝ<><D08D><EFBFBD><EFBFBD><EFBFBD> <20><> R<>':f-B<> B<>8b<38><10><><EFBFBD>?<3F><>fA<><41>0<EFBFBD><30>A<><10><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30><00><>0<><30>S<><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><10><> <20><>%<25><><EFBFBD><00><> Ѝ<><D08D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30><00><>0<><30>S<><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30><EFBFBD> <20><>0<><30> <20><>0<><30><10><><15><><EFBFBD><00><> Ѝ<><D08D><EFBFBD><EFBFBD><EFBFBD>h<10><>h0<68><30> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>\<10><> <20><><EFBFBD><EFBFBD><EFBFBD>*8b<38> <20><><EFBFBD>?<3F><> <20><><EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>8c<38><63>?<3F><><EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><>%<00>><3E>Bd<00>&<00>&f&<00>l<00>P<>
@-<2D> <20><><00><><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><1E>/<2F>C<04>-<2D><14>M<EFBFBD>P<>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<0B><><10><> <0B><><00>
<10><><00><><01><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѝ<><04><><EFBFBD><00><>* P<>
@-<2D> <20><><00><><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><1E>/<2F>6P<>
@-<2D> <20><><00><><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><1E>/<2F><00>C-<2D>S<EFBFBD>M<EFBFBD> P<><50>@<40><><00><><EFBFBD>Q/<2F><><00><><10><><03><><EFBFBD>hq<68><71>la<6C><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD>T<>1 <0B><> <0B><>(
0<><30><14> 0<>@<14>0<><30>0<>0<><15><14>0<>0<> <14>0<>0<> <14>0<>0<> <14>0<> 0<> <14>0<>$0<>w<>0<>G(<28>00<30>6 <20><15>s<EFBFBD>v<>0<>(0<>p1<70><31>F(<28>81<38><31>t1<74><31>7<EFBFBD><37><EFBFBD><1<><31>x1<78><31><EFBFBD>b<EFBFBD>. <20>@1<><31><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>e<EFBFBD><65><EFBFBD><53><DF8D><EFBFBD><EFBFBD><EFBFBD><00><>IDd<><64><EFBFBD><EFBFBD>@-<2D> <0C><><EFBFBD>|<7C><><EFBFBD>@<40><>p<><70><00><><1C>M<EFBFBD> P<><50>`<60><><05><><EFBFBD><00><><EFBFBD>V<><00><><00><><EFBFBD>
@<40><> 0<><30><EFBFBD>d<>`<60><><EFBFBD>C<><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>G<EFBFBD><47><EFBFBD>Ѝ<><D08D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"p@-<2D><02>-<2D>PP<50> <0B><><08>M<EFBFBD> <0B><>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<1D><><EFBFBD> `<60><>p<10><><00><>
<20><>J<10><>
<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD> <00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>P<><1A>J<07><00><>D<10><><EFBFBD>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
g<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD>
<EFBFBD><EFBFBD> <00><>z<EFBFBD><7A><EFBFBD>Ѝ<><02><><EFBFBD>p@<40><>%<25><><EFBFBD><00><>Ѝ<><02><><EFBFBD>p<EFBFBD><70><EFBFBD><00><><00>GYZ<00>@-<2D>P<><50>,<2C>M<EFBFBD> <10><>`<60><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><> r<><72>p<><70>@<40><><00><>J<EFBFBD><4A><EFBFBD><10><>@<40><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><>@<40><><00><>
<EFBFBD><EFBFBD><EFBFBD><10><>@<40><><00><>v<EFBFBD><76><EFBFBD><10><>@<40><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><>@<40><><00><>+<2B><><EFBFBD><10><>@<40><><00><>W<EFBFBD><57><EFBFBD>`<10><>@<40><><00><>z<EFBFBD><7A><EFBFBD> <10><>@<40><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>$<10><>@<40><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>&
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<EFBFBD><EFBFBD>%
<EFBFBD><EFBFBD>@<40><><00><>\<5C><><EFBFBD>(<10><>@<40><><00><>v<EFBFBD><76><EFBFBD>T<10><>@<40><><00><>^<5E><><EFBFBD>d<10><>@<40><><00><>`<60><><EFBFBD>l <20><>h<10><>@<40><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <0B><><1B><> +<2B><>";<3B><>@<40><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><>@<40><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><>@<40><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><>@<40><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!<21><><EFBFBD>1<EFBFBD><31><EFBFBD><11><> <20><><EFBFBD>!<21><> 0<><30><EFBFBD>1<EFBFBD><31> <20><><10><>0<><30><EFBFBD> <20><><EFBFBD>1<EFBFBD><31><EFBFBD><10><>@<40><><00><>
<EFBFBD><EFBFBD><EFBFBD>w
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<EFBFBD><EFBFBD>v
<EFBFBD><EFBFBD>@<40><><00><><07><><EFBFBD><EFBFBD><11><>@<40><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31>S<>@<40><><00><><><D08D><EFBFBD><EFBFBD><EFBFBD>\0<><30><18><><EFBFBD>0<><30><EFBFBD>0<EFBFBD><30><00><><00><> <10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PP<50>
40<EFBFBD><EFBFBD><00><>0<><30>S<><00>$ <20><><10><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40><><00><><><D08D><EFBFBD><EFBFBD><EFBFBD>><00>d!<00>@-<2D>d<EFBFBD>M<EFBFBD>P<><50>`<60><><10><>L <20><>p<><70><00><>P<><50>p<EFBFBD><70><EFBFBD>X!<21><>@<40><><00><> <20><>P<10><> P<><50>)<29><><EFBFBD>@Q<><51>P<><50>P<>5
0<><30><10><><00><>L <20><>0<><30>0<><30> `<60><> 0<><30>\<5C><><EFBFBD>!<21><>P<10><> <20><><00><><17><><EFBFBD>P<> <1A><10><> <20><><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><><00><> <20><><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30> <20><><00><>R<>0<><30> S<><00><64><D08D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><10><> <20><>e<EFBFBD><65><EFBFBD><64><D08D><EFBFBD><EFBFBD><EFBFBD>W<><00>S<><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>p<><70>0<><30> <20><><10><>Y<EFBFBD><59><EFBFBD><64><D08D><EFBFBD><EFBFBD><EFBFBD>t<10><> <20><><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>R<>S<><53><EFBFBD><EFBFBD><EFBFBD>L <20><><10><> <20><>H<EFBFBD><48><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>S<><53><EFBFBD><EFBFBD><EFBFBD>4 <20><><10><> <20><>A<EFBFBD><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <00>;<00> x l d@ <00> <00><00> <00> p@-<2D>@<40><>,Q<><51>,1<><31>P<><50>(<11><>0<><30> <20><><10>M<EFBFBD><00><><10><><1E><><EFBFBD>0<><30> !<21><>S<>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
!<21><><11><><00><>S<> <20><>
R<><00><> <20><><10><> <20><><19><><EFBFBD><00><>Ѝ<>p@<40><><1B><><EFBFBD>R<><52><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><10><> <20><><0F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> `<60><><EFBFBD>0<EFBFBD><30> <20><>R<><52><EFBFBD><EFBFBD><1A>0<EFBFBD><30>P<><50>0<><30>S<><53><EFBFBD><EFBFBD><EFBFBD> <20><>0<><30> <20><> <20><> <20><><10><>| <20><><10><> <00><> <20><><00><><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>S<><53><EFBFBD><EFBFBD><EFBFBD>( <20><>0<><30> <20><>$ <20><><00><> <20><> <20><><10><> <20><>0 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> :<00><00> EPCHdERROt!<00> E@ 0 0P<30><1E>/0<><30>S<><1E>/<01><><EFBFBD><EFBFBD>P<>h"<22><> <20><><1E>/`<12><>@-<2D>0@<40><00><> <20><>S<>񏐈<00>y<00>p<00>g<00>^<00>U<00>L<00>C<00>:<00>1<00>(<00><00><00> <00><00><><EFBFBD><EFBFBD><EFBFBD>R<>q<00><00><><10><><EFBFBD>R<><52><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!<21><><10><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><10><><EFBFBD>R<><52><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!<21><><10><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><10><><EFBFBD>R<><52><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!<21><><10><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><10><><EFBFBD>R<><52><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!<21><><10><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><10><><EFBFBD>R<><52><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!<21><><10><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><10><><EFBFBD>R<><52><EFBFBD><EFBFBD><EFBFBD>d!<21><><10><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><10><><EFBFBD>R<><52><EFBFBD><EFBFBD><EFBFBD>H!<21><><10><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><10><><EFBFBD>R<><52><EFBFBD><EFBFBD><EFBFBD>,!<21><><10><> <20><>x<EFBFBD><78><EFBFBD><00><><10><><EFBFBD>R<><52><EFBFBD><EFBFBD><EFBFBD>!<21><><10><> <20><>p<EFBFBD><70><EFBFBD><00><><10><><EFBFBD>R<><52><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><10><> <20><>h<EFBFBD><68><EFBFBD><00><><10><><EFBFBD>R<><52><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><10><> <20><>`<60><><EFBFBD><00><><10><><EFBFBD>R<><52><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><10><> <20><>X<EFBFBD><58><EFBFBD><00><><10><><EFBFBD>R<><52><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><10><> <20><>P<EFBFBD><50><EFBFBD><00><><10><><EFBFBD>R<><52><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><10><> <20><>H<EFBFBD><48><EFBFBD><00><><10><><EFBFBD>p <20><><10><> <20><>B<EFBFBD><42><EFBFBD><00><><10><><EFBFBD>R<><52><EFBFBD><EFBFBD><EFBFBD>T <20><><10><> <20><>:<3A><><EFBFBD><00><><10><><EFBFBD><EFBFBD>8d<00>!\! !<00> t ( <00><00><00>T<00><00>l <00><00>
<07>@-<2D>g <0B><>N<EFBFBD><4E><EFBFBD>S<EFBFBD><53><EFBFBD>/<2F><><EFBFBD><EFBFBD>{<7B><><EFBFBD>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<17><10><><EFBFBD><EFBFBD>O-<2D>`<60><>(<28><><EFBFBD>("<22><> <09><><EFBFBD>$2<><32>P<><50>4!<21><>L<EFBFBD>M<EFBFBD><10><>r<><72><10><>p<><70><EFBFBD>1<EFBFBD><31><08><><EFBFBD><EFBFBD>@<40>@<40><><EFBFBD><00><>A<><00><>2<EFBFBD>/<2F> <20><><EFBFBD>$<24><><EFBFBD>
<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><08><><EFBFBD><00><> <00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30><EFBFBD>!<21><>l<1A><><EFBFBD>0<EFBFBD><30><10><><EFBFBD>1<EFBFBD><31>a
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<EFBFBD><EFBFBD>a
<EFBFBD><EFBFBD>a<1A><><00><> <20><> <20><><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30> <20><><EFBFBD><01><><EFBFBD>0<EFBFBD><30><EFBFBD>1<EFBFBD><31><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0<><30>
<20><><10><><00><>0<EFBFBD><30><EFBFBD>A <0C><>+<2B><><EFBFBD><EFBFBD><00><>m<EFBFBD><6D><EFBFBD>\<01><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>d<11><>T<01><>M<EFBFBD><4D><EFBFBD><10><>L<01><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><16><><EFBFBD>@!<21><><EFBFBD><00><>0<><30><10><>@<40><>@<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>81<38><31>0<10><><00><>3<EFBFBD>/<2F>
<1B><><1B><> <0B><><EFBFBD><00><><EFBFBD><1B><><EFBFBD> <0B><><EFBFBD> <0B><>h<EFBFBD><68><EFBFBD><1B><><1B><> <0B><><EFBFBD><00><><EFBFBD><1B><><EFBFBD> <0B><><EFBFBD> <0B><>`<60><><EFBFBD><10><> <20><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><1E><><EFBFBD>0<><30><10><> <00><>1<><31> <20><><EFBFBD>1<EFBFBD><31><00><>$<24><><EFBFBD>P<>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
P<><50><10><> 0<><30>0Q<30><51>
<20><>P<><50>5<EFBFBD>/<2F><00><>0<EFBFBD><30><EFBFBD><00><><4C><D08D><EFBFBD><EFBFBD><EFBFBD>l0<6C><30><00><>0<><30>S<><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30> <0C><><EFBFBD>P <20><><EFBFBD>0<EFBFBD><30> <20><><EFBFBD>1<EFBFBD><31><10><>0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>C<7F>5\VUUU<55>><00>9<00>@<40><00><>e<><00><><00><00><00>O-<2D>p<><70>X<02><><14>M<EFBFBD><00><>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <01><>><3E><><EFBFBD>@B<><42>@b<><62>@<40><>`<60><> `<60><><00><>$<01><>6<EFBFBD><36><EFBFBD>(2<><32>0<><30>`1<><31><00><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00>P<EFBFBD>
<02><><00><><1D><><EFBFBD>
<00><>Ѝ<><D08D><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD>Q<EFBFBD><51>@<40><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><>
<10><>0<EFBFBD><30><EFBFBD><EFBFBD>1<EFBFBD><31>ر<EFBFBD><D8B1>
<EFBFBD><EFBFBD><EFBFBD>@<40><><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><><EFBFBD><01><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBBC81><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><08><><EFBFBD>&,<2C><>
<1B><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>&,<2C><><EFBFBD><11><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>`<60><><10><><EFBFBD> <20><>0<><30>T<01><> <20><>`<60><>v<EFBFBD><76><EFBFBD><01><><EFBFBD>0<><30>S<><10><> 0<><30><00><>1
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
0<><30>S<>.
<1D><><EFBFBD>0<><30>0<11><> <20><><01><>`<60><>F<EFBFBD><46><EFBFBD><01><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<><31><10><>@<40><>P<><50><00><><1A><><EFBFBD><EFBFBD>Y<><59><EFBFBD><EFBFBD><10><><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><><EFBFBD><00><>/<2F><><EFBFBD><EFBFBD> <20><><EFBFBD>0<EFBFBD><30> <20><>0<10><><EFBFBD><00><><EFBFBD><7F><EFBFBD> <1A><>a<1A><>a
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<EFBFBD><EFBFBD>a
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD> <20><><00><>0<><30>S<><00><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30> <20><><00><>0<><30>S<><53><EFBFBD><EFBFBD><EFBFBD>|0<><30>| <20><>0<><30>,0<><30> <20><><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>d <20><><10><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><7F><EFBFBD><00>d< 3<00><00>T7<00> <00><00>0<EFBFBD> @<40><00>;(<00><>Ռ<00><><00>5<00><><00><00><00><00>p@-<2D>@<40><>`P<><50>`0<><30>P<><50><00><>0<><30>S<>
<00>L0<4C><30>L<10><>L <20><><10><> <20><><EFBFBD><11><><EFBFBD>!<21><>0<><30><00><><EFBFBD>1<EFBFBD><31>p<EFBFBD><70><EFBFBD>,0<><30>, <20><>0<><30>@0<><30> <20><><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<00>x <0C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<00>O-<2D> <20><>D<EFBFBD>M<EFBFBD><10><><00><><10><><EFBFBD>V<EFBFBD><56><EFBFBD><00><>6<EFBFBD><36><EFBFBD><EFBFBD>!<21><><00><>\<5C><><EFBFBD><EFBFBD> <20><>1<EFBFBD><31><EFBFBD>T3<54><33> <09><><EFBFBD>P<EFBFBD><50><EFBFBD><EFBFBD>a<EFBFBD><61>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<EFBFBD><EFBFBD><EFBFBD>P<><50><08><><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD> <09><><EFBFBD> <00><>&<26><><EFBFBD><EFBFBD>!<21><><EFBFBD><00><>R<><10><> <20><>0<><30><EFBFBD><1F><><EFBFBD><00><>P<>0<><30><EFBFBD><00> <20><><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40><> <00><><14><><EFBFBD><EFBFBD>!<21><><EFBFBD><00><>R<><10><> <20><>0<><30><EFBFBD><1F><><EFBFBD><00><>P<>0<><30><EFBFBD><00> <20><><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <00><><03><><EFBFBD><EFBFBD><01><><EFBFBD>"<22><>0<><30>P<><10><><EFBFBD><00> <20><>0<><30><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30>p<><70> 0<13>0<><30>|`<60><>V<>u
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
0<><30>S<>\
'<10><><00><>`<60><><EFBFBD>7<EFBFBD><37><EFBFBD> <00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<12><> <20><><10><><00><><EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><><00><><13><><EFBFBD> <20><>0<><30><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><00><><EFBFBD> <12> <20><>|<10><>Q<>X
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
 <20><>R<>M
'<10><> <00><>C<EFBFBD><43><EFBFBD><1A><><EFBFBD><EFBFBD><11><> <20><><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <10><><00><>Y<EFBFBD><59><EFBFBD><EFBFBD><11><> <20><><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <00><><10><>Q<EFBFBD><51><EFBFBD> <20><><00><><EFBFBD> <12> <20><>|<10><>Q<>:
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
 <20><>R<>?
'<10><> <00><>%<25><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>$0<><30>S<>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
0<><30><EFBFBD><07><>/<2F><>B<><42><0F><>P<><50><EFBFBD><EFBFBD>R<><52><07><>
 <20><>0<><30>R<>$0<><30> <20><>P<00><><EFBFBD>
B<EFBFBD>r<EFBFBD><EFBFBD><EFBFBD>( <20><><00><> B<><00><><10><>0<><30>Q<><51><EFBFBD><EFBFBD><EFBFBD>i<EFBFBD><69><EFBFBD><00><>`<60><><EFBFBD>0<><30>!<21><>0<><30> <20><>S<>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<10><03><><EFBFBD>
<10><><00><>3<EFBFBD>/<2F><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><> <10><>Q<EFBFBD><51><EFBFBD> <10><><EFBFBD><00><> <20><><00><> <20><>R<>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<10><03><><EFBFBD>
<00><>
<10><>2<EFBFBD>/<2F><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><> <10><>A<EFBFBD><41><EFBFBD> <10><><EFBFBD><00><> <20><><00><> <20><>R<>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<10><03><><EFBFBD>
<00><>
<10><>2<EFBFBD>/<2F><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><><00><>Z <20><>L<EFBFBD><4C><EFBFBD>U<EFBFBD><55><EFBFBD><EFBFBD>d<EFBFBD><00><><00>/<00><00>@B<00>PP<01><00><00><00>(<1F> <20><><10><><00><>><3E><><EFBFBD>0<><30>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<EFBFBD><EFBFBD><EFBFBD> 0<13>0<><30>|@<40><>T<><54>
0<><30>S<>}
'<10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><><00><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>`<60><>p<><70>0<><30>
<EFBFBD><1F><18><><EFBFBD><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><1F>0<><30><00><> <20><>0<10><><00><>4`<60><>0<EFBFBD><30><EFBFBD>(0<><30>@<40><> <0B><> <0B><><19><><EFBFBD><00><><EFBFBD> <00><>P<>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Z<>A
<EFBFBD><1F> <20><><10><><00><><08><><EFBFBD>0<><30> 0<13>0<><30>|<7C><><EFBFBD>X<><58>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
0<><30>S<>%
'<10><><00><>y<EFBFBD><79><EFBFBD>P<EFBFBD><50><EFBFBD>$0<><30>S<>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
0<><30><EFBFBD><07><>/<2F><>B<><42><0F><>P<><50><EFBFBD><EFBFBD>R<><52><07>w
 <20><>0<><30>R<>`<60><>$0<><30>P<00><><EFBFBD>
F<EFBFBD><00>( <20><><00><> B<><00><><10><>0<><30>Q<><51><EFBFBD><EFBFBD><EFBFBD><44><D08D><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>><3E><><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>1<1F> <20><>0<><30>R<>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<10><03><><EFBFBD>
<10><><00><>2<EFBFBD>/<2F><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<1F><><1F> <20><><03><><EFBFBD><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30> 0<13>0<><30>|<7C><><EFBFBD>Z<>J
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
0<><30>S<>6
'<10><><00><>5<EFBFBD><35><EFBFBD> <0C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>L2<1F> <20><>0<><30>R<>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<10>y<><79>
<10><><00><>2<EFBFBD>/<2F><10><>t<EFBFBD><74><EFBFBD><EFBFBD>2<1F><><1F> <20><><03><><EFBFBD><10><><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<><30> 0<13>0<><30>|@<40><>T<>'
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
0<><30>S<>
'<10><><00><><12><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><44><D08D><EFBFBD><EFBFBD><EFBFBD><00><>i<EFBFBD><69><EFBFBD> <20><><EFBFBD>2<1F> <20><>0<><30>R<>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<10><03><><EFBFBD>
<10><><00><>2<EFBFBD>/<2F><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<00><>[<5B><><EFBFBD> <20><>3<1F> <20><>0<><30>R<>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<10><03><><EFBFBD>
<10><>
<00><>2<EFBFBD>/<2F><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><>L<EFBFBD><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>c<EFBFBD><63><EFBFBD> <00><>P<>
<0E><><EFBFBD><00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD>p@-<2D>0<><30>PQ<50>@<40><>0<><30>0<><30>
<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><10><>`<60><><00><><15><><EFBFBD> <20><><10><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><>p<EFBFBD><70><EFBFBD>S<>RQ<><11><><00><><00>P<11><00>)<00><08>M<EFBFBD>`-<2D>Q<><00>S<><00>&<00><04><><EFBFBD>Ѝ<> <00><><1E>/<2F>p<><70><10><>S<><00><00><04><><EFBFBD>Ѝ<> <00><>p<><70><10><> r<><72>0<EFBFBD><30><1E>/<2F> r<><72>0<EFBFBD><30><00><04><><EFBFBD>Ѝ<> <00><>p<><70><10><><1E>/<2F> r<><72>0<EFBFBD><30> <00><04><><EFBFBD>Ѝ<> <00><> r<><72>0<EFBFBD><30><1E>/<2F>@-<2D><00><>0<EFBFBD><30><EFBFBD><02><><EFBFBD>Q<>P<01>O-<2D>@<40><><00>3P<><50>$<24><><EFBFBD><10>1=:S<><12>o<13>o <20><>U<>o <10>o<01>L<EFBFBD> <20>L<EFBFBD><13><><EFBFBD> <20>l<EFBFBD><12><><EFBFBD>2<EFBFBD><32><EFBFBD><12><><EFBFBD> U<>T<00>3<10>1:<00><>@T<><1A><>0<1B><> <0C><> P<><50>\<5C>!
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<EFBFBD>`<60><><EFBFBD>o<EFBFBD><6F><EFBFBD>p<EFBFBD><70> <20><><00>0T<30><07><><EFBFBD>0<><30><08><><EFBFBD>@<40><>P<><50> R<>
U<>T<01><><EFBFBD>*@<40><>P<><50> R<><52><EFBFBD><EFBFBD>4<<3C><>;<3B><>5,<2C><>5:<3A><><00><>@<40><><<3C><>:<3A><>̠<>4;<3B><><10><> P<>P<><50><10><>^<5E><>@<40><11><><EFBFBD><EFBFBD>@-<2D><08><><EFBFBD> *NSt6thread11_State_implINS_8_InvokerISt5tupleIJZ11enqueue_matEUlvE_EEEEEEvc.ril.cameraCouldn't create MMAL camera component : error Couldn't set MMAL camera component number : error Camera doesn't have any output portsCouldn't set camera sensor mode : error Couldn't set all camera parametersPreview port format couldn't be setCouldn't enable camera componentWidth, height, and FPS must be positiveSetting up MMAL, EGL, and OpenGL for Couldn't initialize OpenGL and DispmanX native windowCouldn't configure MMAL preview portSetup done; starting OpenGL and capture workerCouldn't start capture workerpreview_workerraspitex_drawpreview_process_returned_bufsraspitex_configure_preview_portraspitex_initraspitex_destroyraspitex_start%s: port %pFailed to send buffer to %s%s: Failed to update RGBX texture %d%s: Failed to update Y' plane texture %d%s: Failed to update U plane texture %d%s: Failed to update V texture %d%s: No preview image%s: Error drawing frame. Stopping.Preview error. Exiting.Exiting preview worker%s: zero-length buffer => EOS%s: zero buffer handle%s port %pFailed to enable zero copy on camera preview portcamera viewfinder format couldn't be setCreating buffer pool for GL renderer num %d size %dError allocating poolError allocating queueFailed to camera preview portRaspiTex%s: failed%sStopping GL previewpreview-worker%s: Failed to start worker thread %draspitexutil_gl_commonraspitexutil_gl_term<00>raspitexutil_create_native_windowraspitexutil_destroy_native_window$0#0"0!0%0@080<00>080$0#0"0!0%0@080<00>080raspitexutil_gl_init_2_0raspitexutil_do_update_textureraspitexutil_capture_bgraraspitexutil_build_shader_program%s: No native window%s: Failed to get EGL display%s: eglInitialize failed%s: eglChooseConfig failed%s: eglCreateWindowSurface failed%s: eglCreateContext failed%s: Failed to activate EGL context%s: EGL error 0x%08x%s: %d,%d,%d,%d %d,%d,0x%x,0x%xFailed to open display handleFailed to open update handleFailed to create element handle%s: mm_buf %u%s: %dx%d %dRaspiTexUtil.cpp->vertex_sourcep->fragment_sourceProgram info log %sFailed to link shader programFailed to get location for attribute %sAttribute for %s is %dFailed to get location for uniform %sUniform for %s is %d%s: Failed to build shader programraspicamcontrol_set_defaultsraspicamcontrol_get_all_parametersD JERaspiCamControl.cparamsInvalid saturation valueInvalid sharpness valueInvalid contrast valueInvalid brightness valuemmal_port_parameter_get(camera->control, &crop.hdr) failed, skip itFailed to set crop values, x/y: %u, w/h: %uNo camera settings eventsget_mem gpuget_camerasupporteddetectedCamera is not enabled in this build. Try running "sudo raspi-config" and ensure that "camera" has been enabled
Only %dM of gpu_mem is configured. Try running "sudo raspi-config" and ensure that "memory_split" has a value of %d or greater
Camera is not detected. Please check carefully the camera module is installed correctly
Failed to run camera app. Please check for firmware updates
Camera control callback cmd=0x%08xExposure now %u, analog gain %u/%u, digital gain %u/%uAWB R=%u/%u, B=%u/%uNo data received from sensor. Check all connections, including the Sunny one on the camera boardReceived unexpected camera control callback event, 0x%08xOut of memoryOut of resources (other than memory)Argument is invalidFunction not implementedNo such file or directoryNo such device or addressI/O errorIllegal seekData is corrupt ttention FIXME: not POSIXComponent is not ready ttention FIXME: not POSIXComponent is not configured ttention FIXME: not POSIXPort is already connected Port is disconnectedResource temporarily unavailable. Try again laterBad addressUnknown status error$0#0"0!0@080init_framebufferthreshold_shader_openFailed to lock VCSM buffer for handle %d
Using VCSM%s: Failed to create EGL VCSM image
GL_FRAMEBUFFER is not complete
VCSM init done#version 100
attribute vec2 vertex;varying vec2 texcoord;void main(void) { texcoord = 0.5 * (vertex + 1.0); gl_Position = vec4(vertex, 0.0, 1.0);}#version 100
#extension GL_OES_EGL_image_external : require
precision lowp float;precision lowp int;varying vec2 texcoord;uniform vec3 lowerThresh;uniform vec3 upperThresh;uniform samplerExternalOES tex;vec3 rgb2hsv(const vec3 p) { const vec4 H = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0); vec4 o = mix(vec4(p.bg, H.wz), vec4(p.gb, H.xy), step(p.b, p.g)); vec4 t = mix(vec4(o.xyw, p.r), vec4(p.r, o.yzx), step(o.x, p.r)); float O = t.x - min(t.w, t.y); const float n = 1.0e-10; return vec3(abs(t.z + (t.w - t.y) / (6.0 * O + n)), O / (t.x + n), t.x);}bool inRange(vec3 hsv) { const float epsilon = 0.0001; bvec3 botBool = greaterThanEqual(hsv, lowerThresh - epsilon); bvec3 topBool = lessThanEqual(hsv, upperThresh + epsilon); return all(botBool) && all(topBool);}void main(void) { vec3 col = texture2D(tex, texcoord).rgb; gl_FragColor = vec4(col.bgr, int(inRange(rgb2hsv(col))));}texlowerThreshupperThreshvertexdt: latency: size: ========== writing ========Got nullptr from grab frameout.pngwhoopsreleasingl<><6C><EFBFBD><7F><00><>H<00><04><00><04><00>H<><48><EFBFBD><7F><00><>@<40><04><00><04><00><04><00><04><00> <04><00> x<><00><04><00><04><00><00><04><00><00><><EFBFBD><EFBFBD><7F>;<00><>y <20><00><10><00><04><00><04><00><04><00><04><00><00><04><00><04><00><04><00><00><10><00><04><00><04><00><04><00><00><10><00><04><00><04><00><04><00>$t<><74><EFBFBD>??<00><>MA@<40><03><01><04><03><08><01><04><03><08><01><04><03><04><01><04><03><04><01><08><00>}X<1C><><EFBFBD><7F><01><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><1D><04><00><04><00><04><00><04><00>8<00><><EFBFBD><EFBFBD><7F><EFBFBD><00><><00><><EFBFBD><EFBFBD><7F><00><><18><00><04><00> <09><00>X<><58>,<2C><><EFBFBD><7F><01><><EFBFBD><EFBFBD><00><><EFBFBD>4<7F><34><EFBFBD><7F><EFBFBD><EFBFBD><7F><EFBFBD><EFBFBD><04><><EFBFBD><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40><><EFBFBD><7F><EFBFBD><EFBFBD><7F><EFBFBD>D<7F><44><04><><EFBFBD><7F><EFBFBD><EFBFBD><7F><01><><EFBFBD><EFBFBD><EFBFBD><7F>ɀ<EFBFBD><C980><EFBFBD><00><02>,<2C><><EFBFBD><7F><EFBFBD><EFBFBD>d<EFBFBD><64><00><02><><EFBFBD><EFBFBD><EFBFBD><7F><EFBFBD><EFBFBD>,<2C><><EFBFBD><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><7F><02>h<EFBFBD><68><14><>D<7F><44><00><><EFBFBD>4<7F><34>L<7F><4C>(<28><>0<7F><30>L<7F><4C><EFBFBD><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 <00><00>8<00>5(<00><><EFBFBD>o<EFBFBD>4<00><><EFBFBD>o<00><><EFBFBD>ob2<00><><EFBFBD>o<00><><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>><00>> <20><00>?<00>?<00>?<00><><00><><00>?<00>?<00>?<00><><00><><00>?<00>?<00>?<00><><00><>Ⱥ`<60>ܾ<00><><00><><00><>GCC: (Raspbian 8.3.0-6+rpi1) 8.3.0A.aeabi$6 
 "T<00>Ll<00>g<00>g h<Xhlh<00> ixH<00>J<>i Q<> t<00>e<00><>L<00>PD<><00><00>\<18><00><)<00><>,<00>g<1C>HTJ<00>KLF<><04>$Y<04>\<00>{<00>U<04><00>intU DU<07><><00>std`<00><><00><01><>'A0kdM <0B>`<60><1A><0E>5<>U`<60><1A>M<>{B<00><00>{B<01><01>;`<60><1A><02>@{B<00><00>{B<01><01>B %<25><1A>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<EFBFBD><00>_<><00><>C<00>{B-$<24><>\0 <0C><01>w<1A> E<00><1A>>Yb<59><1A>5<EFBFBD>BY4<59><1A>>$[hX2$<24> ><00>CZeK '<27>q2hV(<28><>|<07>;^<00>^ <09><1A>j n\<1A>><04>WBd<1A><07><00><00><02>B<01>W*
<1A><07><><00><00><02>B>Bd<1A>S<00><00><02>BФ<1A><07>S<00><02>B$<24>9]5<18>Ф<1A> <0B>DJ<02>BW<><1A><1A>^i<02>B>WL<57><1A><07><>}<00><02>B><12><><1A>N<00><00><02>B<12><><1A>7<><00><00><00><02>B<01>B>W<>><1A>[[<00><00><02>BW<><57><1A>.<2E><00><02>B>W<>P<1A><07><>+<02>B>b")`<07><>@P<02>B>b$<24>XW#b P nPU<>ys[<00>B<00><00><02>Bys<07><><00>B<00><00><02>B<03>n+;<3B>><00><00><02>B>F"<22><>5<07>1<00><00><02>B>>F<03>!>ׄ>(<02>B>><03>MFI AL<02>BF^T<>O<07>gmWF>^<5E>4X<07>q<00>WF>^<01>a<00>W>b^:at m<00>W<01><01>$<24><>^Du<44>^:ax<10><00>W<01><01>$<24><>`<08><>^:a}<07>\,WWW^:a<1A>X@MWFF!%<25><1A><07>s-m>>"kA<1A>֪<00><00><02>B<01>B"<22>M<1A><1E><00><00><02>B>>F>"dG<1A><07><><00><00><02>B>>l<><1A>S<00>B<01><02>BMl<4D><1A><07><><00>B&<02>B<01>;l<><1A>r<><00>B@K<02>B<01>Bl<><1A>7<00>Bez<02>B<01>B><01>;l<><1A><07><><00>B<01><00><02>B<01>B>>l<><1A> <00>B<01><00><02>B<01>B>><01>;l<><1A>v<00>B<01> <02>BF><01>;l<><07>\<00>B&1<02>B<01>Bl<>8Vp<00>BK[<02>B(<01>;l<><P<00>Bu<00><02>B<01>B<01>;l<>@<07><><00>B<01><00><02>B<01>B<01>;Ml<4D><1A><10><00>B<01><00><02>B<01><01>;<1A><><1A><00><01><><1A> I<><00>B<00>
<02>B^ <><1A> ^k<><1A>u C2=<02>B-C<1A>yK<00>BWb<02>B<01>BC<1A><07>(<00>B|<00><02>BFC<1A><07>e<00>B<01><00><02>BbC<1A><07><00>B<01><00><02>B<01>BC<07><><00>B<01><00><02>B(<04><>0B<>^  <02>BQ<>:P<><00>0 6 <02>BQ<>BM<00>P V <02>BendJ<07>p<00>p v <02>BendR<07><><00><01> <00> <02>B${<7B>b0(<28><04><>[v<00> <01> <00> <02>B$u<>a5-<2D><04><>dX<><00> <01> <00> <02>BW[m<07><><00> 

<02>BW[v}<00> *
0
<02>BP<>|<00>J
P
<02>B<04>7<1A>K<><00>j
p
<02>B<04><><1A><07><><00> <01>
<00>
<02>BV[<1A><07>J<00> <01>
<00>
<02>Bd<1A><00>><01>
<00>
<02>B-
<1A><07><>><01>
<00>
<02>B<04><1A> <20>>
 <02>B<15><><1A><07>'& 6 <02>B>b<15><><1A><07>L W <02>B><15>O<1A><07><>m s <02>B<04><1A>{<7B>><01> <00> <02>B<15><><1A>{<01> <00> <02>B><15><><1A>.b<01> <00> <02>Bm]E<01> <00> <02>B$ <0B>[7<<3C>
W8<><00>  " <02>B>$<16>Z20<32>
W'<07><>" I T <02>B>at<<00> m x <02>B>atQ%*" <01> <00> <02>B>W<>a<07>9" <01> <00> <02>BW<>l)<29><00> <01> <00> <02>B@Bw<07>" <01> <00> <02>B@B<1A><07>
<00>   <02>BP<><1A>2`<00>B6 A <02>B<01>BP<><1A>'y<00>B[ f <02>BFP<><1A><03><00>B<01> <00> <02>BbP<><1A><07><><00>B<01> <00> <02>B(\<1A>[?<00>B<01> <00> <02>B<01>B\<1A><07><><00>B<01> <02>B<01>B>>\<1A><07><><00>B.<02>BF>\<1A><08><00>BHS<02>BF\<07>s<00>Bm}<02>B>b\
<07>,<00>B<01><00><02>B(;BEwf<01><00><02>BbnAT<07><><00>B<01><00><02>B<01>BnAd<07><><00>B <02>B<01>BnA{<07>3<00>B'<<02>B<01>B>>nA<1A>z<><00>BVf<02>BF>nA<1A><07><00>B<01><00><02>BFnA<1A><07><><00>B<01><00><02>B>bnA<1A> <0A><00>B<01><00><02>B(|<1A>Wl<00><01> <02>B<01>>b|KQ*/<02>B<01>(|_<14><00>BIY<02>B><01>B|v<07><><00>Bs<00><02>B><01>B>>|<1A><07><00>B<01><00><02>B>F>|<1A><07>j<00>B<01><00><02>B>F|<1A>:<3A><00>B<02>B>>b|<1A>W<00>/?<02>B?b ߉l<1E>gG<07>L<00>Beu<02>B>>gG<07><00><01><00><02>B?gG,<07>0<00><01><00><02>B??<15>?<07><01><00><02>BX<07><00>B<01><02>B>><01>Bn/<00>B)H<02>B>><01>B>><1A>E<00>Bb|<02>B>>F><1A><07>$<00>B<01><00><02>B>>F<1A>D<><00>B<01><00><02>B>>>b<1A>=<00>B<01><02>B??<01>B<1A><07><><00>B(B<02>B??F><1A><><00>B\q<02>B??F <07>I<00>B<01><00><02>B??>bB7n<00>B<01><00><02>B??WWM<07><><00>B<01> <02>B??FFX<07>b<00>B'A<02>B??<01><01>c<07>/<00>B[u<02>B??<01><01>|!<21><00>B<01><00><02>B<01><01>(<03><><1A>x<00>B<00><00><02>B>>>b<03><1A><07>M<00>B<00>
<02>B>>F>Y<1A>m,<00>B#3<02>BF>W<><1A>]<5D>>Mb<02>BW>><15>\<1A> <0B>x<00><02>B<01>B<04> <1A>N<>F<01><00><02>BEd<1A> vF<01><00><02>BEd P~W<01><00><02>B|s <04>P<01><02>B<04><>! ˶>2<02>BF>><04><>/ o >L\<02>B<01>B><04><>O <07>B>v<00><02>BF><04><>` Z><01><00><02>Bb><04><>m /<2F>><01><00><02>B<01>B><04><><1A> F<>><01> <02>BF>><04><><1A> B>#3<02>BF><04><><1A> :<3A>>M]<02>Bb><1D><1A> V>w<00><02>B<01>B><1D><1A> <07>><01><00><02>BF>><1D><1A> <07><>><01><00><02>BF><1D>
<07>I><01>
<02>Bb>I7
<07><>>$4<02>B<01>B>I73
<07>Y>Nc<02>BF>>I7A
<07><>>}<00><02>BF>I7U
T#><01><00><02>Bb>b[c
]<5D>><01><00><02>B<01>B>b[<1A>
a<>><01><02>BF>>b[<1A>
&<26>>*:<02>BF>b[<1A>
 v>Td<02>Bb>b3<1A>
<04>>~<00><02>B<01>B>b3<1A>
P<>><01><00><02>BF>>b3<1A>
Ò><01><00><02>BF>b3<1A>
w<>><02>Bb><04><> "<22>]+;<02>B>>(<28> d\-U`<02>B<01>B(<28>x or-z<00><02>B>><01>B(<28><1A> mV-<01><00><02>B>><01>B>>(<28><1A> <07><>-<01><00><02>BF(<28><1A> gq-<02>B>>F(<28><1A> /F-6P<02>B>>F>I|<1A> <09><><00>Bs<00><1C>W<02>BWW
bPF<00>MP(<28><00>U ] <<3C>J!] <0B><00>G<>S$<24><>P9]gstr<19><07><><00><01><00><02>w<00><01><>d<07>u<00><><02><>B<00><02><>9<>C<01>,7<02><>-
bPF<00>MP(<28><00>U <0B><00> '<27><>6]str~2%b<01><00>ރ<00>,<2C>N<07><>CX<01><00><01>-0M-<2D>1<07><01><01><00><01>-0B
bPF<00>MP(<28><00>U X}'AO8 <0B> 0 n 1 z 2 <0B> 3 <0B> 5 . 6 : 7 F 8 R : <0B> ; <0B> < <0B> = <0B> ? <0B> @ <0B> B <0B> C <0B> D <0B> E <0B> G ^ H j I v J <0B> L <0B> M
 N  O " Q <0B> R <0B>nX!9 xk&8!;- <0C>y!<-ߚ!><11><>@Fo<>!Ct<>^d_TpC__v 4o!9 <0C>k&8!;- <0C>y!<- !><11><><00><00><00>'o<>!Ct[<00><00><00>'_TpC__v } <0C><>!N-<1A><>!9 zk&8!;-~ <0C>y!<-wϕ!>~yBH7o<>!C<1C>5`f7_TpwC__vw <00>y<>!P
<EFBFBD><01> !<21> <0A>k<>!<21> 4
"L
<EFBFBD><00>4
"L+<2B><>a<01>a <0B><00>4M"O5.M<00>}<7D>!9 W k&8!;-~ <0C>y!<-w%[!>/_<00> % vo<>!C<1C><><00>= C v_TpwC__vw <0B><1D><>#]
<EFBFBD> <00><02><>#^]<5D>|<01> | \ <00>@#a@<00> <03><1E>$Y
<1A>x$_
<EFBFBD> 5<> )6$c
<EFBFBD> 5<> <1A><>$g
<EFBFBD> 5<> <00>*<2A>%2 & <0B>&<26> <0B>&<26> .&<26> M&<26> h&<26> ~&<26> <0B>&<26> <0B>&<26> <0B>&<26> <0B>&<26>
&<26> &&<26> B&<26> i&<26> <0B>&<26> <0B>&<26> <0B>&<26> <0B>&<26> <0B>&<26> &<26> $&<26> D&<26> [&<26> <0B>&<26>/&<26>;<3B>&<26><16>&<26><16>&<26>&<26><16>&<26><16>&<26>,<00>_V2("}("<14>!<00>{<7B>)4 $0}<7D>)O <0B># <0A>m)Q C<00>}<7D>)S<10><>GD"O"GCW<><57>)U 3<>c"i"GW<>)V <0C>/}"<00>"G<12>u)X <0A>&C<00>"<00>"M}<7D>)`<07><>G<01>"<00>"G}<7D>)b<07><>G<01>"<00>"GS}<7D>)e<07><>G<01>"#G!$}<7D>)iG!#,#GYC)v9_E#P#GSC)zf<>_i#t#GY<0E>d)<29>K{C<01>#<00>#G-9<>\)<29>!<01>#<00>#G_<00>ܙ)<29><10><><01>#<00>#Mv<)<29>!<21>e<01>#M ")I
$)9"<00><02>1)E<08>'!$" <0C><>'<27><1D>1<>G -$<00><04>w*S<1A><>*V
p$<00><01><>*Y"Mki$k F$<00>1<>*],<2C>p$<1C>q <0C>$<00>-<2D>u <09><10><>קקקw<><77>-+<2B><08>$<00>%<25><06><><06>7f7<06><> <0B>$wi<77>-+<2B>%<00><01><> <0C>'q <0B>$*j+<2B>
q&ln<6C>+<2B>(l<><6C>+<2B>'alsg+<2B>'al<><6C>+<2B>al<>k+<2B>(l<>+<2B>(l<>@+<2B>(l<>B+<2B>'al<>+<2B>'al<><6C>+<2B>'alH+<2B>'al<>+<2B>'all<6C>+<2B>( <09><>+( C<>+( q<>+
6% Q<>+( W<>+( +( <09>+ ( Q<>+#( <09>2+&( <02>++5<>$k<>+ {( n<>+<2B>*6min+<2B><07>]6max+<2B>D<> x<>+<2B>( <09><>+<2B>)a sg+<2B>)a <09><>+<2B>a <09>k+<2B>* <09>+<2B>* <09>@+<2B>* <09>B+<2B>)a YE+<2B><07><> 1B+<2B><07>r <09>+<2B>)a <09><>+<2B>)a H+<2B>)a <09>+<2B>)a l<>+<2B>* <09><>+<2B>* C<>+<2B>* q<>+<2B>8% Q<>+<2B>* s7+<2B>Ã <20><>+<2B><07><> G<>+<2B><13> P+<2B>2 W<>+<2B>* +<2B>* <09>+<2B>* Q<>+<2B>* <09>2+<2B>* <02>+<2B>7<>$_Tp<1D>K+<2B> <0C>* n<>+<2B>*6min+<2B><07>Qb6max+<2B>m<>b x<>+<2B>t<>b <09><>+<2B>)a sg+<2B>)a <09><>+<2B>a <09>k+<2B>* <09>+<2B>* <09>@+<2B>* <09>B+<2B>)a YE+<2B><07><>b 1B+<2B>"<22>b <09>+<2B>)a <09><>+<2B>)a H+<2B>)a <09>+<2B>)a l<>+<2B>* <09><>+<2B>* C<>+<2B>* q<>+<2B>8% Q<>+<2B>* s7+<2B> <0C><>b <20><>+<2B>lJb G<>+<2B>?<3F>b P+<2B>4b W<>+<2B>* +<2B>* <09>+<2B>* Q<>+<2B>* <09>2+* <02>+7<>$_Tpb<1D>D+ <0C>, n<>+ *6min+ <07>j6max+<18> x<>+{$ <09><>+)a sg+)a <09><>+a <09>k+* <09>+* <09>@+* <09>B+)a YE+"<07>% 1B+%<07> <09>+')a <09><>+()a H+))a <09>+*)a l<>+,* <09><>+-* C<>+.* q<>+/8% Q<>+1* s7+4<07>G <20><>+7w<> G<>+:<07><> P+><1B> W<>+A* +B* <09>+C* Q<>+E* <09>2+F* <02>+G7<>$_Tp +M <0C>. n<>+O*6min+R4<><00>6max+U<07>z<00> x<>+YX<><00> <09><>+\)a sg+^)a <09><>+aa <09>k+c* <09>+d* <09>@+e* <09>B+f)a YE+iTF<00> 1B+l#Y<00> <09>+n)a <09><>+o)a H+p)a <09>+q)a l<>+s* <09><>+t* C<>+u* q<>+v8% Q<>+x* s7+{p<><00> <20><>+q<00> G<>+<2B><07>u<00> P+<2B><07>'<00> W<>+<2B>* +<2B>* <09>+<2B>* Q<>+<2B>* <09>2+<2B>* <02>+<2B>7<>$_Tp<00><1D>+<2B> <0C>0 n<>+<2B>*6min+<2B>L<>=6max+<2B>Y= x<>+<2B>f<>= <09><>+<2B>)a  sg+<2B>)a  <09><>+<2B>a <09>k+<2B>* <09>+<2B>* <09>@+<2B>* <09>B+<2B>)a YE+<2B>
I= 1B+<2B>W<>= <09>+<2B>)a <09><>+<2B>)a H+<2B>)a <09>+<2B>)a l<>+<2B>* <09><>+<2B>* C<>+<2B>* q<>+<2B>8% Q<>+<2B>* s7+<2B>͎= <20><>+<2B>7<>= G<>+<2B>6= P+<2B>wy= W<>+<2B>* +<2B>* <09>+<2B>* Q<>+<2B>* <09>2+<2B>* <02>+<2B>7<>$_Tp=<1D><>+<2B> <0C>2 n<>+<2B>6min+<2B>c<>I6max+<2B><07>`I x<>+<2B><07><>I <09><>+<2B>a sg+<2B>a <09><>+<2B>a <09>k+<2B> <09>+<2B> <09>@+<2B> <09>B+<2B>a YE+<2B><07><>I 1B+<2B>J<>I <09>+<2B>a <09><>+<2B>a H+<2B>a <09>+<2B>a l<>+<2B> <09><>+<2B> C<>+<2B> q<>+<2B>+% Q<>+<2B> s7+<07>I <20><>+R<>I G<>+2<>I P+ a7I W<>+  + <09>+ Q<>+ <09>2+ <02>+*<2A>$_TpI<1D>T+ <0C>4 n<>+6min+R|U6max+ <07>U x<>+#<>U <09><>+%a  sg+&a  <09><>+'a <09>k+( <09>+) <09>@+* <09>B++a YE+.<07>:U 1B+1%<25>U <09>+3a <09><>+4a H+5a <09>+6a l<>+8 <09><>+9 C<>+: q<>+;+% Q<>+< s7+?1[U <20><>+B<07>KU G<>+E<07>6U P+H<07>JU W<>+J +K <09>+L Q<>+N <09>2+O <02>+P*<2A>$_TpU<1D><>+V <0C>6 n<>+X*6min+[<07>&6max+^׽& x<>+bǀ& <09><>+e)a sg+f)a <09><>+ha <09>k+j* <09>+k* <09>@+l* <09>B+m)a YE+p<07>U& 1B+s<07><>& <09>+u)a <09><>+v)a H+w)a <09>+x)a l<>+z* <09><>+{* C<>+|* q<>+}8% Q<>+* s7+<2B>%<25>& <20><>+<2B>%6& G<>+<2B><07>2& P+<2B>D& W<>+<2B>* +<2B>* <09>+<2B>* Q<>+<2B>* <09>2+<2B>* <02>+<2B>7<>$_Tp&<1B>+<2B> <0C>8 n<>+<2B>*6min+<2B><07><><00>6max+<2B>̰<00> x<>+<2B><07>]<00> <09><>+<2B>)a sg+<2B>)a <09><>+<2B>a <09>k+<2B>* <09>+<2B>* <09>@+<2B>* <09>B+<2B>)a YE+<2B>k<00> 1B+<2B>}c<00> <09>+<2B>)a <09><>+<2B>)a H+<2B>)a <09>+<2B>)a l<>+<2B>* <09><>+<2B>* C<>+<2B>* q<>+<2B>8% Q<>+<2B>* s7+<2B>f<00> <20><>+<2B><07><><00> G<>+<2B>V<00> P+<2B><07>Z<00> W<>+<2B>* +<2B>* <09>+<2B>* Q<>+<2B>* <09>2+<2B>* <02>+<2B>7<>$_Tp<00><1D>&+<2B> <0C>: n<>+<2B>*6min+<2B>T<>-6max+<2B>l- x<>+<2B><07>{- <09><>+<2B>)a sg+<2B>)a  <09><>+<2B>a <09>k+<2B>* <09>+<2B>* <09>@+<2B>* <09>B+<2B>)a YE+<2B><07><>- 1B+<2B>>- <09>+)a <09><>+)a H+)a <09>+)a l<>+* <09><>+* C<>+* q<>+ 8% Q<>+ * s7+=B- <20><>+<07><>- G<>+t- P+<07>n- W<>+* +* <09>+* Q<>+* <09>2+* <02>+7<>$_Tp-|L+% <0C>< n<>+'*6min+*#<23>w6max+-<07>\w x<>+1Uw <09><>+4)a  sg+6)a  <09><>+9a <09>k+;* <09>+<* <09>@+=* <09>B+>)a YE+A<1E>w 1B+Dkw <09>+F)a <09><>+G)a H+H)a <09>+I)a l<>+K* <09><>+L* C<>+M* q<>+N8% Q<>+P* s7+S<07><>w <20><>+V?Gw G<>+Z<07>\w P+^<07><>w W<>+a* +b* <09>+c* Q<>+e* <09>2+f* <02>+g7<>$_Tpw<1D><>+m <0C>> n<>+o*6min+ri6max+u<07> x<>+y<07><> <09><>+|)a sg+})a  <09><>+a <09>k+<2B>* <09>+<2B>* <09>@+<2B>* <09>B+<2B>)a YE+<2B>06 1B+<2B><07>l <09>+<2B>)a <09><>+<2B>)a H+<2B>)a <09>+<2B>)a l<>+<2B>* <09><>+<2B>* C<>+<2B>* q<>+<2B>8% Q<>+<2B>* s7+<2B>Nf <20><>+<2B>/: G<>+<2B>Iv P+<2B><07><> W<>+<2B>* +<2B>* <09>+<2B>* Q<>+<2B>* <09>2+<2B>* <02>+<2B>7<>$_Tp<1D>+<2B> <0C>@ n<>+<2B>*6min+<2B><07>q<00>6max+<2B>_<00> x<>+<2B><18><00> <09><>+<2B>)a  sg+<2B>)a  <09><>
)a <09><>+ a <09>k+* <09>+* <09>@+* <09>B+)a YE+x<00> 1B+WH<00> <09>+)a <09><>+)a H+)a <09>+)a l<>+* <09><>+ * C<>+!* q<>+"8% Q<>+$* s7+'<07><><00> <20><>+*<07>R<00> G<>+-T<><00> P+1<07>9<00> W<>+3* +4* <09>+5* Q<>+7* <09>2+8* <02>+97<>$_Tp<00><1D><>+? E n<>+A*6min+D<00><6max+G<07>@< x<>+K<07>H< <09><>+N)a@ sg+P)a <09><>+Sa <09>k+U* <09>+V* <09>@+W* <09>B+X)a YE+[<07><>< 1B+^8<>< <09>+`)a <09><>+a)a H+b)a <09>+c)a l<>+e* <09><>+f* C<>+g* q<>+h8% Q<>+j* s7+m<07>F< <20><>+q<07><>< G<>+u< P+yaM< W<>+|* +}* <09>+~* Q<>+<2B>* <09>2+<2B>* <02>+<2B>7<>$_Tp<<1D>6+: G n<>+<*6min+?<07><>56max+B֖5 x<>+F}5 <09><>+I)a sg+J)a <09><>+La  <09>k+O* <09>+P* <09>@+Q* <09>B+R)a YE+U<10>5 1B+X<07>K5<00><01>+Z)a<00><01><01><>+[)a[ H+\)a<00> <09>+])a& l<>+_* <09><>+`* C<>+a* q<>+b8% Q<>+d* s7+hL5 <20><>+k<07><>5 G<>+n<07><>5 P+qF<>5 W<>+s* +u* <09>+v* Q<>+x* <09>2+y* <02>+{7<>$_Tp5<1D><>+<2B> &I n<>+<2B>*6min+<2B>H&6max+<2B>!<21>& x<>+<2B><07><>& <09><>+<2B>)a5 sg+<2B>)a <09><>+<2B>a <09>k+<2B>* <09>+<2B>* <09>@+<2B>* <09>B+<2B>)a YE+<2B><07>C& 1B+<2B>,u&<00><01>+<2B>)a<00>x<01><01><>+<2B>)a<00>}<01>H+<2B>)a<01><01>+<2B>)a4 l<>+<2B>* <09><>+<2B>* C<>+<2B>* q<>+<2B>8% Q<>+<2B>* s7+<2B>tm& <20><>+<2B><07><>& G<>+<2B><07><>& P+<2B><07>v& W<>+<2B>* +<2B>* <09>+<2B>* Q<>+<2B>* <09>2+<2B>* <02>+<2B>7<>$_Tp&5<>+<2B> 8K n<>+<2B>*6min+<2B><07><00>6max+<2B><07><><00> x<>+<2B>;b<00> <09><>+<2B>)a5 sg+<2B>)a <09><>+<2B>)a <09>k+<2B>* <09>+<2B>* <09>@+<2B>* <09>B+<2B>)a YE+<2B><07><><00> 1B+<2B>+<2B><00><00><01>+<2B>)a<00>x<01><01><>+<2B>)a<00>}<01>H+<2B>)a<01><01>+<2B>)a4 l<>+<2B>* <09><>+<2B>* C<>+<2B>* q<>+<2B>8% Q<>+<2B>* s7+<2B>p<><00> <20><>+<07> <00> G<>+<07><><00> P+<07><><00> W<>+ * + * <09>+ * Q<>+* <09>2+* <02>+7<>$_Tp<00>,K <0B>.,K <0B>.,R /,U 1/,[ H/,\ d/,] <0B>/,] <0B>/,^ <0B>/,^ <0B>/,_ 0,_ !0,` @0,` `0-@ 1-<2D> <0B>0-<2D> <0B>2-<2D> <0B>2-<2D> <0B>2-<2D> 3-<2D> )3-<2D> E3-<2D> a3-<2D> ~3-<2D> <0B>3-<2D> <0B>3-<2D> <0B>3-<2D> <0B>3-<2D> 4-<2D> *4-<2D> V4-<2D> r4-<2D> <0B>4-<2D> <0B>4-<2D> <0B>4-<2D> <0B>4-<2D> 5-<2D> &5-<2D> L5-<2D> m5-<2D> <0B>5-<2D> <0B>5-<2D> <0B>5-<2D> <0B>5-<2D> <0B>5-<2D> 6-<2D> 26-<2D> M6-<2D> 7-<2D> 17-<2D> Q7-<2D> q7-<2D> <0B>7-<2D> <0B>7-<2D> <0B>7-<2D> <0B>7-<2D> 8-<2D> 68-<2D> W8-<2D> x8-<2D> <0B>8-<2D> <0B>8-<2D> <0B>8-<2D> <0B>8-<2D> 9-<2D> 39-<2D> K9-<2D> c9-<2D> <0B>9-<2D> <0B>9-<2D> <0B>9-<2D> <0B>9-<2D> <0B>9-<2D> :-<2D> <:-<2D> [:-<2D> :-<16>:- <16>:-
<16>:-<0E>7-5-L5-!<0E>5-%<0E>:-&<0E>:-'<0E>:_8 <0C>O^nA\<5C>$N;;<1F>!!b $Nxeq"(<28>UN;;xlt&gttN;;!(<28>.sg-<00>N ; ;<01>O!-
<ɏ<00>O<00>N ;!<21><>Fo<> ;<00>N ;<01>O;!<21>4T};<00>N; ;<01>O!W<>\#d;#O; ;<01>O!nAd<0E>;HO;<01>O$N!<21>!l<03>$NcO;<1F><>!- cO!Nr9<>cO<00>O;!<21><>v<07>O<00>O;;6eofz4<>cO!.t~~<7E>cO<00>O;
b <0C>6'<27>ws<><17> <0C>Q^nA<17><07> P=;C;<1F>!<17>!= Pxeq<17><07>RMPC;C;xlt<17><07><>lPC;C;!(<28><17><07><>-<00>PI;I;<01>O!-
<17>M<><00>O<00>PI;!<21><><17>7hI;<00>PI;<01>OC;!<21>4<17><07><>O;<00>PO;I;<01>O!W<><17><07><>O;QO;I;<01>O!nA<17>MQO;@QO;<01>OP!<21>!<17>ݔP[QU;<1F><><17>!<21>0 [Q!N<17>4<>[Q<00>QC;!<21><><17>“<00>QU;U;6eof<17><07>[Q!.t<17>p<>[Q<00>QU;
=K<><17> <0C>S^nA)]R[;a;<1F>!!I Rxeq <07>l9Ra;a;xltY3XRa;a;!(<28><07>-}Rg;g;<01>O!-
D<><00>O<00>Rg;!<21><>'<07>qg;<00>Rg;<01>Oa;!<21>40z<>m;<00>Rm;g;<01>O!W<>9@m;Sm;g;<01>O!nAB<07>&m;,Sm;<01>OR!<21>!J<07><>RGSs;<1F><>!
 GS!NN<07><>GStSa;!<21><>R1<><00>Ss;s;6eofVT<>GS!.tZ<07>~GS<00>Ss;
I<1D><>_ <0C>U^nAh<07><><00>Sy;;<1F>!a!U <0B>Sxeql<07>X%T;;xltp<07><>DT;;!(<28>t<07><>-iT<01>;<01>;<01>O!-
aE<00>O<00>T<01>;!<21><><17><07><><00>;<00>T<01>;<01>O;!<21>4<17><07><<00>;<00>T<01>;<01>;<01>O!W<><17>k<><00>;<00>T<01>;<01>;<01>O!nA<17>p
<00>;U<01>;<01>O<01>S!<21>!<17><07><><00>S3U<01>;<1F><>b! 3U!N<17><07>T3U`U;!<21><><17><07>h<00>U<01>;<01>;6eof<17>#<23>3U!.t<17><07>,3U<00>U<01>;
U -<2D>'<27>- <0B>U <0C>j!K-}l KVD<><44>O!<06>iI<00>;VV<02>;O!<06><07><><00>;V*V<02>;<01>;v<><76><06>,C?V<02>;- <0B>U.5 <0B>;.6 =.7 7=0<><30>/G <0B>_$[h/V<1F>O uV<00>CZ/X"<22>V(9/]n<>><01>V<00>V>o(9/a<11><>><01>V<00>V> >(9/c><3E>><01>V<00>V>F(9/iމ>W'W>FuVoC/n<07>n>AWLW> >$<24><>/R+FQ<>/s<07>|LWrWxW>gend/w<07><>LW<01>W<00>W>P<>/{<07><>LW<01>W<00>W><0E>7/{LW<01>W<00>W>$u<>/TK<54>_<0E><>/<2F>ʯ<00>W<01>WX>W[/<2F><07>n<00>WX X><0E><>/<2F><07>d<00>W9X?X>V[/<2F><07><><00>WXX^X>d/<2F>ʹuVwX}X>-
/<2F><07><>uV<01>X<00>X><0E>/<2F>suV<01>X<00>X>m]/<2F>~/<01>X<00>X>
W/<2F>a <00>;<01>X<00>X>uVgat/<2F><07><><00>;Y!Y>uVW<>/<2F><07>C<00>;:Y@Y>@B/<2F>}<7D><00>;YY_Y>Ed/<2F>!<21>FxY~Y>9<17>/<2F><07>/<01>Y<00>Y>uV9c\/<2F><07><><01>Y<00>Y>uV9<>\/<2F>%x<01>Y<00>Y>>W<>/<2F><07><>uV<01>Y Z>WuVuV<0E><>/<2F>!<21>hV%Z5Z>uVuV(<28>/<2F><07>'-NZYZ>hV(<28>/<07><>-sZ<00>Z>uVuVhV(<28>/ M<>-<01>Z<00>Z>uVuVhVuVuV(<28>/~<7E>-<01>Z<00>Z>F(<28>/<07>#-[[>uVuVF(<28>/z-/[I[>uVuVFuV<04><>/"<07>puVc[s[>hVuV<04><>/&muV<01>[<00>[>buV<04><>/)1<>uV<01>[<00>[>FuVuV<04><>/,<07><>uV<01>[<00>[>FuV<04><>/0euV\ \>hVuV<04><>/4<07>juV:\J\>buV<04><>/7<07>%uVd\y\>FuVuV<04><>/:<07><>uV<01>\<00>\>FuV<1D>/>-uV<01>\<00>\>hVuV<1D>/BъuV<01>\<00>\>buV<1D>/FRouV]&]>FuVuV<1D>/I<07><>uV@]P]>FuVI7/ML<>uVj]z]>hVuVI7/RX<>uV<01>]<00>]>buVI7/VuV<01>]<00>]>FuVuVI7/Z<07>&uV<01>]<00>]>FuVb[/^WuV^'^>hVuVb[/c<07><>uVA^Q^>buVb[/f<15>uVk^<00>^>FuVuVb[/j<0E>uV<01>^<00>^>FuVb3/q<07>uV<01>^<00>^>hVuVb3/v<07>uV<01>^<00>^>buVb3/y% uV_-_>FuVuVb3/}<06>uVG_W_>FuV<04>n/<2F><07><>uVq_<00>_>uVF<04>!/<2F>;<3B>uV<01>_<00>_>uVuV!%<25>/<2F><07>m-<00>_uVuV;2/<2F><12>OX'/<2F>F
bPF<00>M hV1<>z0rO/G <0B>i$[h/V<1F>O `<00>CZ/X"`(9/]<07><>'>K`Q`'>o(9/a<0F>'>k`v`'>->(9/c<11><>'><01>`<00>`'>|(9/i<07><>'><01>`<00>`'>|`oC/n|3><01>`<00>`'>->$<24><>/R+|Q<>/s!<21><00>`aa9>gend/wh|<00>`-a3a9>P<>/{<06><00>`LaRa9><0E>7/<07>F<00>`kaqa9>$u<>/TK<54>i<0E><>/<2F>x<>qa<01>a<00>a9>W[/<2F><11>qa<01>a<00>a9><0E><>/<2F><07>qa<01>a<00>a9>V[/<2F>G<>qa<01>a<00>a9>d/<2F><07><>`bb9>-
/<2F><1A>`2b8b9><0E>/<2F>><3E>`QbWb9>m]/<2F><07>3pbvb9>
W/<2F><07>X<00>;<01>b<00>b9>`gat/<2F>z<><00>;<01>b<00>b9>`W<>/<2F><07>4<00>;<01>b<00>b9>@B/<2F><07><00>;<01>b<00>b9>Ed/<2F><07><>|cc9>9<17>/<2F><16>/c:c'>`9c\/<2F>1OcZc'>`9<>\/<2F>'oczc'>3>W<>/<2F><07>b`<01>c<00>c9>c``<0E><>/<2F>aB`<01>c<00>c9>``(<28>/<2F><07><>-<01>c<00>c9>`(<28>/-d$d9>```(<28>/ <16>->d]d9>`````(<28>/<07>]-wd<00>d9>|(<28>/<07><>-<01>d<00>d9>``|(<28>/<00>-<01>d<00>d9>``|`<04><>/"+`<01>de9>``<04><>/&~p`)e9e9>=`<04><>/)<07><>`Sehe9>|``<04><>/,<1E>`<01>e<00>e9>|`<04><>/0 <0B>`<01>e<00>e9>``<04><>/4s`<01>e<00>e9>=`<04><>/7<07><>`ff9>|``<04><>/:_x`/f?f9>|`<1D>/><07>c`Yfif9>``<1D>/B<08>`<01>f<00>f9>=`<1D>/F<07><>`<01>f<00>f9>|``<1D>/IS`<01>f<00>f9>|`I7/MD<>`gg9>``I7/R<07>3`0g@g9>=`I7/VO`Zgog9>|``I7/Z<07>`<01>g<00>g9>|`b[/^1<>`<01>g<00>g9>``b[/cv`<01>g<00>g9>=`b[/f<07>v`hh9>|``b[/j<07>^`6hFh9>|`b3/q<17>``hph9>``b3/v<07><>`<01>h<00>h9>=`b3/y>-`<01>h<00>h9>|``b3/}H}`<01>h<00>h9>|`<04>n/<2F><07>D` ii9>`F<04>!/<2F><07>^`7iGi9>``!%<25>/<2F>e#-gi``;2/<2F><12>OX'/<2F>|
=PF<00>O `1RI0<>
/G 2s$[h/V<1F>O <0B>i<00>CZ/X"<22>i(9/],vH><01>i<00>iH>o(9/a<11>pH>jjH>N>(9/c<11><>H>+j6jH>T>(9/i0.H>Oj_jH>T><01>ioC/ndZ>yj<00>jH>N>$<24><>/R+T>Q<>/s<><00>j<01>j<00>j`>gend/w<07><><00>j<01>j<00>j`>P<>/{s3<00>j<01>j<00>j`><0E>7/P<00>jk k`>$u<>/TK7s<0E><>/<2F><07> k3k9k`>W[/<2F>=<3D> kRkXk`><0E><>/<2F>t<> kqkwk`>V[/<2F>eh k<01>k<00>k`>d/<2F>:<3A><00>i<01>k<00>k`>-
/<2F>=0<00>i<01>k<00>k`><0E>/<2F><07><00>i<01>k<00>k`>m]/<2F><07><> ll`>
W/<2F><07>f>+l6l`><01>igat/<2F>MXf>NlYl`><01>iW<>/<2F>e<>f>rlxl`>@B/<2F>3f><01>l<00>l`>Ed/<2F>ٕT><01>l<00>l`>9<17>/<2F><07><><01>l<00>lH><01>i9c\/<2F>B<01>l<00>lH><01>i9<>\/<2F>C<> mmH>Z>W<>/<2F>`<60><00>i/mDm`>l><01>i<01>i<0E><>/<2F><07><00>i]mmm`><01>i<01>i(<28>/<2F><07>n-<01>m<00>m`><01>i(<28>/yi-<01>m<00>m`><01>i<01>i<01>i(<28>/ 2T-<01>m<00>m`><01>i<01>i<01>i<01>i<01>i(<28>/@-nn`>T>(<28>/A<>-8nMn`><01>i<01>iT>(<28>/<07>"-gn<00>n`><01>i<01>iT><01>i<04><>/"<07><00>i<01>n<00>n`><01>i<01>i<04><>/&<07><<00>i<01>n<00>n`>I<01>i<04><>/)<07><><00>i<01>no`>T><01>i<01>i<04><>/,<07>V<00>io.o`>T><01>i<04><>/04<><00>iHoXo`><01>i<01>i<04><>/40<00>iro<00>o`>I<01>i<04><>/7% <00>i<01>o<00>o`>T><01>i<01>i<04><>/:<07>|<00>i<01>o<00>o`>T><01>i<1D>/><07>x<00>i<01>op`><01>i<01>i<1D>/BН<00>ip/p`>I<01>i<1D>/FL<><00>iIp^p`>T><01>i<01>i<1D>/Iz:<00>ixp<00>p`>T><01>iI7/M <20><00>i<01>p<00>p`><01>i<01>iI7/R;`<00>i<01>p<00>p`>I<01>iI7/V <00>i<01>p q`>T><01>i<01>iI7/Z֌<00>i%q5q`>T><01>ib[/^<07><><00>iOq_q`><01>i<01>ib[/c3C<00>iyq<00>q`>I<01>ib[/f"<22><00>i<01>q<00>q`>T><01>i<01>ib[/jNR<00>i<01>q<00>q`>T><01>ib3/q <09><00>i<01>q r`><01>i<01>ib3/v<07>r<00>i&r6r`>I<01>ib3/yC<><00>iPrer`>T><01>i<01>ib3/}<1B><00>ir<00>r`>T><01>i<04>n/<2F>1<><00>i<01>r<00>r`><01>iF<04>!/<2F><07><><00>i<01>r<00>r`><01>i<01>i!%<25>/<2F>Թ-s<01>i<01>i;2/<2F><12>OX'/<2F>T>
IPF<00>Q <0B>i1<>#0<>o/G <0B>|$[h/V<1F>O Is<00>CZ/X"Vs(9/]@L{><01>s<00>s{>o(9/a<11>v{><01>s<00>s{><01>>(9/c<11> {><01>s<00>s{><01>>(9/i<07>{><01>s<00>s{><01>>IsoC/n<07><><00>>t t{><01>>$<24><>/R+<2B>>Q<>/s0 tFtLt<02>>gend/w<07>k tetkt<02>>P<>/{<07>5 t<01>t<00>t<02>><0E>7/<07>; t<01>t<00>t<02>>$u<>/TK<54>|<0E><>/<2F><07>E<00>t<01>t<00>t<02>>W[/<2F><07>~<00>t<01>t<00>t<02>><0E><>/<2F><<3C><00>t uu<02>>V[/<2F><07>1<00>t,u2u<02>>d/<2F><07><>IsKuQu<02>>-
/<2F><07>2Isjupu<02>><0E>/<2F>}=Is<01>u<00>u<02>>m]/<2F><07><><01>u<00>u<02>>
W/<2F><05><00>><01>u<00>u<02>>Isgat/<2F><07><><00>><01>u<00>u<02>>IsW<>/<2F><07><><00>>vv<02>>@B/<2F><07><00>>-v3v<02>>Ed/<2F>)z<00>>LvRv<02>>9<17>/<2F><07><>gvrv{>Is9c\/<2F>RP<01>v<00>v{>Is9<>\/<2F><07><><01>v<00>v{><01>>W<>/<2F><07>QIs<01>v<00>v<02>><01>>IsIs<0E><>/<2F>D<><s<01>v w<02>>IsIs(<28>/<2F>q<>-"w-w<02>><s(<28>/o<>-Gw\w<02>>IsIs<s(<28>/ `<60>-vw<00>w<02>>IsIs<sIsIs(<28>/<07>l-<01>w<00>w<02>><01>>(<28>/<07><>-<01>w<00>w<02>>IsIs<01>>(<28>/|T-xx<02>>IsIs<01>>Is<04><>/"<07><>Is7xGx<02>><sIs<04><>/&\WIsaxqx<02>>UIs<04><>/)%<25>Is<01>x<00>x<02>><01>>IsIs<04><>/,N]Is<01>x<00>x<02>><01>>Is<04><>/0<07> Is<01>x<00>x<02>><sIs<04><>/4<07><>Isyy<02>>UIs<04><>/7<07><>Is8yMy<02>><01>>IsIs<04><>/:<07><>Isgywy<02>><01>>Is<1D>/>:<3A>Is<01>y<00>y<02>><sIs<1D>/B<07>+Is<01>y<00>y<02>>UIs<1D>/F<07>>Is<01>y<00>y<02>><01>>IsIs<1D>/I<07><>Isz$z<02>><01>>IsI7/M<07>uIs>zNz<02>><sIsI7/R<07><>Ishzxz<02>>UIsI7/VC<>Is<01>z<00>z<02>><01>>IsIsI7/ZJ<>Is<01>z<00>z<02>><01>>Isb[/^2Is<01>z<00>z<02>><sIsb[/c<07> Is{%{<02>>UIsb[/f<07>Is?{T{<02>><01>>IsIsb[/j)Isn{~{<02>><01>>Isb3/q<07>yIs<01>{<00>{<02>><sIsb3/v;PIs<01>{<00>{<02>>UIsb3/y<07>MIs<01>{|<02>><01>>IsIsb3/}̏Is|+|<02>><01>>Is<04>n/<2F><07>IsE|U|<02>>IsF<04>!/<2F><07>WIso||<02>>IsIs!%<25>/<2F>U%-<00>|IsIs;2/<2F><12>OX'/<2F><15>>
UPF<00>S <s1&X<00><01>k/q3}<00><01>w/s}/s<14>|<00><01>k1}1<14>|<00><01>X0<>}0<> }<00>!<21>y}y}}/q<14>|1b <0B>21c ;?1e <0B>?1f <0B>?1g <0B>?1h <0B>?1i
@1j @1k 7@1l ]@1m ~@1q <0B>@1r <0B>@1t <0B>@1u
A1v 0A1x GA1y ^A1~ kA1<> A1<> <0B>A1<> <0B>A1<> <0B>A1<> <0B>A1<> B1<> B1<> )B#<23><04> (<1F><><04>W!!<21><04><07>L"~O~]Ba~<1F>X<04>,<2C>U O~[h<04>$<24>O!!<21><04><07>y"~<00>~]Ba~<01>~<1F><><04>-&^"<22><04>%<25><00>~]B"~a~!<21><04><07>Da~<00>~cB!r<><04>=OO~<00>~cB<1F>y<04>b<1F>9<04>'Fw<><04>%<25>U(<28><00>U0112/ #<23>$<24><>26F <0A>U2:5$[h25<18>O ;22;Oi2><11>-<00>B<00><00><02>B<01>O$<24><>27Fi2B΃<00>B<01><00><02>Bd2G<07><>O<01><00><02>BQ<>2K0g<00><01><00><02>Bgend2O<07>e<00><14><1A><02>B_Eb (1<13>1<><31>3) <0B>B3* <0B>Bmabs4N<03><><00>^<5E><01>mabs4J<03><>5x<>5mabs4Fx<>&<00><>&mabs4=8<><00><00><><01>mabs48<03><>ƀ!<21>o3<><03><><00><00><><01>!<21>o3<><03><>5<00><>5mexp3<><03><><00><16><01>mexp3<><03><>50<>5xpow3<><03> <00>P<><01><01>xpow3<><03>"5p<>55xlog3V<03><><00><00><><01>xlog3R<03><>5<00><>5<1A>_ *<2A>(<12>c kק<00><><1C><00><><10><>ק<01><><01><>ק(<28><>c <09><>ק<1F><1C>}<10><>ק}}קKY<4B><11>5H
Y<EFBFBD> %<25>5J<11><> e 5K^<5E><11>5MH¤i<>y<>¤<01><>^<5E><11>5P'¤<00><><00><>¤ܙ5R<03><00><><00><>ȤC5V<05>)Τ͂؂¤C5`0<>Τ<00><><00><>¤Ԥ<12>5d?<3F><13><1E>ȤԤC5hQ<>6<>A<>ȤԤ<00>Q<>5l<05><>R<>¤ *<2A> <0C>5E<19><1A>($v <0C><> u{$}-+C<00> _TpP<>-Pc<50>d<>PQ<50>ڤ̚5<>
)<29>5j<35> %<25>5<><11><> 9,5<>w̚5<> +<00><><00><><06><02><><01><>wW<><57>5<><05><><1A> <20><02><>W<14>5<><05><>4<>:<3A><02><>W95<>h<>N<>Y<><02><><01>U<12>5<><05><>q<>|<7C><02><><01><>C5<><05><><00><><00><><02><><01><><12><>5<><1D><00><>„<02><><01><>)C5<>74ڄ<00><><02><><01><>5<><05>R<00><><08><02><><01><><00>5<><05><><1D><02><><01><> <0B><>'<27>5<>
<1F>5<><35>'<27>5<><00><>Y<>_<><02><>'<27>5<><07><00><>w<><00><><02><><01><>w <0C><>5<>.<2E><12><>5<><05><><00><><00><><00><><02><> <16>5<>*<2A>WB5<>o<><00><>Յۅ<02><><12><>5<><05><00><><00><><00><><02><><12><>5<>V<00><><11><1C><02><>-N<>5<>iC<00><>4<>:<3A><02><>N<>5BC<00><>S<>^<5E><02><>-P<>5
<05>\<00><>w<><00><><02><>w<> <0B>5F<><00><><00><><00><><02><>w<>aB5ǚ<00><><00><>ʆ<02><>w<>kB52<><00><><00><><00><><02><>w<>
W5&<05><00><><07><12><02><>w<> <0C><>5<>¤ .<2E>kR5.
Q<EFBFBD>5<><35>kR55<05>S<04>Q<>W<><04>kR57i<04>p<><00><><04><01><>wkR5:<05><><04><00><><00><><04>
<EFBFBD><03><>5><05><>.<2E><00><>Ç<10> <0B>51"WB5B<05>Ç<00><><00><><10><1F><>53"$<24><03><>5F<05>F<16><15><1B><04><03><>5MOF<00><>4<>?<3F><04>-N<>5UGo<16>X<>^<5E><04>N<>5\F3<00><>w<><00><><04>-P<>5d<05><><16><00><><00><><04>w<> <0B>5k<05><><16><00><>ʈ<04>w<>aB5r<05><><00><><00><><00><><10>w<>kB5ye<><00><><07><12><10>w<>
W5<>8Ç+<2B>6<><10>w<><16>50"<1F><>52"<1C> $<24>0<><30>2/ Q<>$<24><>26<1C> <0A>U2:c<>$[h25<18>O ;22;}<7D>i2>K "<22><00><><00><>"<22><01><>}<7D>$<24><>27<1C>i2B<11><>"<22><01><><00><>"<22>d2Gw<>}<7D><04>
<EFBFBD>(<28>Q<>2K<07><><00><>#<23>)<29>(<28>gend2O.r<00><>B<>H<>(<28>_E V<><1A>$<24> <0C><> u{$<24>5w<35> <0C><>$<24>5<12> <16>$<24>5<EFBFBD><35>r2.<2E>/$v ̊+C<00> _Tp<10>-c<>¤Q<>*<2A>0<>8e /<2F>D<><44><01>gm.<2E>{<7B><07>G4<><08><0E>4<><00>{<7B><14><07><>4<>(<28>3<>4<>3<>r.<2E>{<7B><14>c<>4<>Y<>d<>4<>:<3A><0E><><14><07>[3<>}<7D><00><>@<40>$<16>u2{<7B>WB<14><07>f<00><><01><><00><>@<40>$<24><>t0o<30><16><14>zr<00><>Ջۋ@<40><0E><><14>RF<><01><><00><>4<><0E><><14>BQ̊<13><1E>4<>-N<><14>:xF<>7<>=<3D>4<>N<><14> x̊V<>a<>4<>-aB<14>#
̊z<><00><>@<40><01><>$u{s7c<37>P<><14>U<>F<><01><><00><>4<><01><>kBB2̊Ќی@<40><01><> <0B>H<>F<><01><><00>4<><01><>
W<07>|<00><><1A>%<25>@<40><01><>r2.<2E> ̊<1A>`$<24> o<> u{$<24>5w<35> <0C><>$<24>5C<35> <16>$<24>56<35>r2$<24>Y<>$v <0C><>+C<00> _Tp<10>-c<><1C>Q<>0,ze <0A>Do<44><01>gm$<24>{<7B>ZL<><01><><00><>L<><00>{<7B><14>Q^L<><06><11>L<><11>r$<24>{<7B><14>
<EFBFBD>L<>7<>B<>L<>R<><0E><><14><0F><11>[<5B>a<>X<>$<16>u2Y<32>WB<14><07><>a<><01><><00><>X<>$<24><>t0M<30><16><14>(<28><00><><01><><00><>X<><0E><><14><07><>^<5E>Ҏ؎L<><0E><><14><07><><00><><01><><00><>L<>-N<><14><07>^<5E><15><1B>L<>N<><14>9<00><>4<>?<3F>L<>-aB<14><07>`<00><>X<>c<>X<>c<>$u{s7A<37>P<><14><07>5^<5E><01><><00><>L<>c<>kB<07><><00><><01><><00><>X<>c<> <0B>Z[^<5E>ӏޏL<>c<>
W-<2D>a<><01><><03>X<>c<>r2$<24> <0B><>S<10> S <0B><>S <0B><>S <0A>S ۞S l<>S N<>S <0B><>Di<44>x<02><07><><00><>w<>}<7D><02><>Mx<02>o<><00><><01><><00><><02><><00>'<27>Xx<1A><> <0B><>Mx<02><07><><00><>ϐߐ<02><>ߐ<00>'[hv<1A>Ox<02><07><><00><><07><1C><02><>ߐ<06><00>'<27>yl- <1C>x<02><07><><00><>I<>T<><02><>p<>x<02>;<3B><00><>n<>y<><02><> <0C>x<02>]<5D><00><><01><><00><><02><>p<><00>x<02><07>!<00><><01><>͑<02><> <0C><00>x<07>_<00><><01><><00><><02><>k<><00>x5<07><>C<11><1C><02><>-C<16>><3E><12>5<>@<40><02><>p<>CT<12>Z<>e<><02><> <0C>Ciy<12><><00><><02><>k<>nA|<07><><01><><00><><02><>ߐ<06>nA<02><07><>ƒђ<02><>k<>'<27><>q=<3D><>Q<><02>;<3B>ђ<01><><00><><02><>'<27><>s<07><>Q<><02>67<00><>'<27>-<2D><18>end<02><07><>ђG<>M<><02><>end<02><07>O<00><>g<>m<><18>'{<7B>u0p<30><04><><02><07>Im<><01><><00><><02><>'u<>t5u<35><04><><02>V<00><>Óɓ<18>W[<02><16>m<><01><><00><><02><>W[<02> K<00><><03> <09><18>P<><07>G<00><>#<23>)<29><18><04>7 <07><><00><>C<>I<><18><04><><07><><00><>c<>i<><18>V[_<00><><01><><00><><18>d%ajߐ<01><><00><><18><04>*<07><>ߐÔɔ<18><15><>8<07><>ߔ<00><><02><>ߐ<15><>L<05><00><10><02><>ߐ<06><15>OlM<>&<26>,<2C><02><><04>u
&ߐF<>L<><18>m]~F<>f<>l<><18>9<><39>B<05><><01><><00><><02><>ߐ'<16>o2T<32>
W<02><07><00><><01><><00><><02><>ߐ' <0B>p7`<60>
W<02>%<25><00><><01><><00><><18>ߐ<15>#<02>|U<08><13><18>ߐat<02><07><><00><>,<2C>7<><02><>ߐat<02><07><><00><>P<>[<5B><18>ߐW<><02><07>,<00><>u<>{<7B><02><>W<><02>#<23><00><><01><><00><><18>@B<07>+<00><><01><><00><><02><>@B<07><><00><>Ֆۖ<18>Ed<07><><00><><01><><00><><02><>Ed#<07>N;<15><1B><18>;B2<07><>1<><<3C><02><><06>;BB_<>R<>]<5D><02><><1E><15>X<05>s<>y<><02><>|v,ђ<01><><00><><02><><01><><06>|<02><18>ђ<01><>̗<02><><01><><1E>|<02>F<>ђ<01><><00><><02><><01><>k<>|<02>s<>ђ<10>%<25><02><><01><>ߐ<06>gG%&<26>ђ?<3F>J<><02><><01><>gG@<07><>ђd<>t<><02><><01><><01><><15>\WT<><01><><00><><02><><12><15><>iR<01><><00><><02><><15><02><11>ǘט<02><>ߐ<06>N{<02>3<02><><00><><02><>ߐ9<>m<16>c<> <0A><1D><02><><01>O<06>t<16><05><>3<>H<><02><>ђߐ<06>vDA^<5E>i<><02><>ߐ<04>O~<05><02><><00><><02><>v<>G<12>ђ<02><><00><><02><><01><><1E><04><>b<07>Tђ͙ݙ<02><><01><><1E><04>wh<07>
ߐ<02><><07><18>ߐFk<>v<07><><1D>(<28><02><>(<28>'<27><>m)1<>dG<16>z<>ђO<>Z<><02><>ђdG<16>O?ђs<><00><><02><>ђђ" .<02><07><><00><><00><><02><> <0C><01>U" .<02><07>d<00><>͚<02><> <0C><01>_Tp-P(<28><00><> <12>0Pql ]<5D>D<06>O!<06>U<><00><><12><18><02><>O!<06><16><00><>1<><<3C><02><><01><>v<><76><06>$<24>CQ<><02><>- <0B><><<04> i<><1F><><04><1B><>!!<21><04><07> p<><00><><01><><01><><1F>X<04>,<2C><> <0B><>[h<04>$<24>O!!<21><04>K<>p<><00><><01><><01><><01><><1F><><04>-&^"<22><04><0F><01><>p<><01><>!<21><04>H<><00><>*<2A><01><>!r<><04>B)<00><>E<><01><><1F>y<04>-w<><04>%<25><>(<28><00><><1A><> Q f<><1A><> X1<>5<><35> <0A><>[
1<EFBFBD> b<>\
1<EFBFBD> 7]
1<EFBFBD><12><>_k\ĥȜΜĥ<12><>c΢ĥ<00><><00><>ĥʥ<12><>h<02>Wĥ <09><14>ĥХ<00><01>un<07>%<25>ĥ֥ <0C><>V H<> <0C><>Ty<> =<3D>E!<02>0<>ܥf<>l<><02><>E!<02><07><>ʥ<00><><00><><02><> <0C>X<02><16><> <0B><>|s<02>Ju<00><><00><><00><><02><><12><02>U<00><>ѝם<02><><12><02><07> <00><><00><><00><><02><><01><><12><02><07><><00><><12><1D><02><><01>O<03><07>:<00><>6<>F<><02><><01>O<01><><03><07>0<00><>_<>j<><02><>Х<03>
<07>2<00><><00><><00><><02><><01><><03><07><><00><><00><><00><><02><><01><><01><><03><1C>CО۞<02><>- <0C>"v<><1E>%<07><>1<><02> <0A><02><><01>O"<1F>,<07>"<22>2<><02><>1<><01>O5i5<07><>H<>S<><02><><01>O_Tp-(<28><00><> i<>1<><31>1<>j1tS?<3F> S H<>S <0B><>S
<EFBFBD>S <0B><>S i<>S K<>S <0B><>Df<44>x<02>h<>I<>ߟ<00><>I<>Mx<02><07><>I<><01><>
<EFBFBD>I<>O<>'<27>Xx<1A><>
<EFBFBD>Mx<02><07><>I<>7<>G<>I<>G<>O<>'[hv<1A>Ox<02><07>XI<>o<><00><>I<>G<>U<>O<>'<27>yl<17>o <0B><>x<02><07><>I<><01><><00><>I<>f<>x<02><07>sI<>֠<00><>I<>[<5B>x<02><07>,I<><01><> <0B>I<>f<>O<>x<02>ߣI<>%<25>5<>I<>[<5B>O<>xK<>I<>O<>_<>I<>h<>O<>x5;>Cy<><00><>I<>-C<16><05>i<00><><01><><00><>I<>f<>CT+<00><>¡͡I<>[<5B>Ci<07><><00><><01><><00><>I<>h<>nA|`<08><18>I<>G<>U<>nA<02><07>.<2E>9<>I<>h<>'<27><>q=WQ<><02> <0C>9<>a<>g<>I<>'<27><>s\Q<><02><>g<><01><><00><>a<>end<02>׬9<><01><><00><>I<>end<02>} g<>Ϣբa<>'{<7B>u0m<30><04><><02>RNբ<01><><03>I<>'u<>t5r<35><04><><02><07><03>+<2B>1<>a<>W[<02>Z<>բK<>Q<>I<>W[<02><07>c<03>k<>q<>a<>P<>Rg<><01><><00><>a<><04>7 x&g<><01><><00><>a<><04><><07><03>ˣѣa<>V[<07><03><01><><00><>a<>d%<07><>G<> <0B><11>a<><04>*J<>G<>+<2B>1<>a<><15><>8<07>"G<>R<>I<>G<><15><>L<07>h<>x<>I<>G<>U<><15>Ol<07>V<01><><00><>I<><04>udGG<><01><><00><>a<>m]~c<>ΤԤa<>9<><39>B <01><><00><>I<>G<>'<16>o2
W<02> <20><00><><1C>'<27>I<>G<>' <0B>p7
W<02><07>q'<27>O<>Z<>a<>G<><15>#<02>e7p<>{<7B>a<>G<>at<02>6<00><><01><><00><>I<>G<>at<02><07>'<27><01><>åa<>G<>W<><02><07>U<00><>ݥ<00><>I<>W<><02>-<2D>'<27><01><><03>a<>@Bv%<00><><1D>#<23>I<>@B<07><>'<27>=<3D>C<>a<>Ed<07><>b<>]<5D>c<>I<>Ed#<07>c<00><>}<7D><00><>a<>;B2@D<01><><00><>I<>U<>;BBM<01><>ŦI<>g<><15>Xu<>ۦ<00><>I<>|v<05>P9<><01><>
<EFBFBD>I<>g<>U<>|<02><07> 9<>$<24>4<>I<>g<>g<>|<02>W<>9<>N<>^<5E>I<>g<>h<>|<02><07>9<>x<><00><>I<>g<>G<>U<>gG%d<>9<><01><><00><>I<>g<>gG@<07>+9<>̧ܧI<>g<>g<><15>\WR:<01><><00><>I<><01><><15><>iV<13><19>I<><15><02>\/<2F>?<3F>I<>G<>U<>N{<02>= U<>`<60>I<>G<>9<>m<16>3<>u<><00><>I<><01>OU<>t<16><05><><02><><00><>I<>9<>G<>U<>vD<05><>ƨѨI<>G<><04>O~_><02><><00><>I<>v<>Gȓ9<> <0B><1B>I<>g<>g<><04><>b<05>9<>5<>E<>I<>g<>g<><04>wh&%G<>_<>o<>a<>G<>Fk<>v?<02><><00><>I<><01><>'<27><>m).<2E>dG<16><05>e9<><02><>©I<>9<>dG<16><05><>9<>۩<00><>I<>9<>9<>" .<02>c
<00><10>I<>[<5B><01>U" .<02>ƃ%<25>5<>I<>[<5B><01>_Tp<00>oP(<28><00><> z<>S<><53>5L w<>5L }<7D>5L <0B><>5L <0B><>5L <0B><>5L r<>D<><44>'<27>X5b <0C> <0B><>|s5e<07><><00><><01><>ª<02><><00>x5p^<5E>êު<00><>êMx5v<07><>ê<01><> <09>êɪMx5{Lê#<23>3<>ê3<>ɪ'[h5X<1A>Ox5E<>ê[<5B>p<>ê3<>.<2E>ɪx5<>A<>ê<01><><00><>êl<><00>x5<>o0ê<01><><00><>êϪx5<><07>2ê֫<00><>êϪɪx5<><07><>ê<00><10>êl<>ɪx5<><07>>ê*<2A>:<3A>êV<>ɪx5<><07>`CT<>_<>ê-C5<>iCئy<><00><>êl<>C5<>԰ئ<01><><00><>êϪC5<07>/ئìάêV<>nA5 <07><><01><><00><>ê3<>.<2E>nA5":X
<EFBFBD><15>êV<>'<27><>5^ .<2E>Q<>5'&<26><15>=<3D>C<>ê'<27><>5_%$<24>Q<>5+<07>vC<>k<>q<><02><>end5/<07>L<15><01><><00><>êend53<07>(C<><01><><00><><02><>'{<7B>5a<04><>57<07><><00><>٭߭ê'u<>5`5<><35><04><>5;ֺ߭<07> <0A><02><>W[5?h;<00><>'<27>-<2D>êW[5C<1A>߭G<>M<><02><>P<>5H<07><>C<>g<>m<><02><><04>75L<07> C<><01><><00><><02><><04><>5PY<>߭<01><><00><><02><>V[5T<07>߭Ǯͮ<02><>d5Y<07>3<><01><><00><><02><><04>5]<07><>3<><07> <0A><02><><04>5i<07>3<>'<27>-<2D><02><>m]5ntG<>M<><02><>'<16>5Z!*<2A>
W5r<07><>M<>u<><00><>ê3<>' <0B>5[
W5y<07>l<00><><01><><00><><02><>3<><15>#5<>h<>ɯԯ<02><>3<>at5<>&<26>M<><01><><00><>ê3<>at5<><07>7<00><><11><1C><02><>3<><15><>5<>ew2<>=<3D>ê3<>W<>5<><07>lM<>W<>]<5D>êW<>5<>S6<00><>w<>}<7D><02><>@B5<><07><>M<><01><><00><>ê@B5<><07>k<00><><01><><00><><02><>Ed5<><07>@Ӱٰê;B5<><07><><01><><00><>ê<15>\5<><07><><10><1B>êئ<00><01>\5<><07>>9<>M<>M<>|5<><19><15>S<>c<>êC<>.<2E>|5<>˜<15>}<7D><00><>êC<>3<>.<2E>|5H<15><01><><00><>êC<>V<><15>5 (}ұرêgG5LR<15><01><><00><>êC<>gG58\<15><17>'<27>êC<>C<><15><>5!Q&=<3D>M<>ê3<><15>O5+<07>\c<>i<>êQ<>50<07> <><00><>ê<15><>58p`<01><><00><>ê<18>5S8<15><02><>вêC<>C<><15><15><>5\<07><><02><><00><>ê3<>a<>5n<07>c<07><12>ê<15>T<16><05><>(<28>3<>ê3<><04>O{<05><>M<>S<>ê<15>m5<>:ii<>y<>ê<01>Otg<><02><><00><>ê<15>3<>&I<05><><02><>ʳê<15><04>w5 <1A>3<><02><><00><><02><>3<>Fk<>5<07><>
<EFBFBD><15>ê<15>dGew3<15>/<2F>:<3A>ê<15>dGp3<><15>T<>d<>ê<15><15>_TpP(<28> <0C> M<>S<01> S J<>S <0E>S 2<>S <00>S <0B><>S s<>S <0B><>D<><44>x<02>&<26>S<><01><><00><>S<>Mx<02><08>S<><01> <0C>S<>Y<>'<27>Xx
<EFBFBD> <0C>Mx<02><07><>S<>9<>I<>S<>I<>Y<>'[hv<1A>Ox<02>2<>S<>q<><00><>S<>I<>_<>Y<>'<27>yl<17><> <0B><>x<02><07><>S<><01><><00><>S<>x<>x<02>i
S<>ص<00><>S<>e<>x<02><07><>S<><01><> <0A>S<>x<>Y<>x<02><07>S<>'<27>7<>S<>e<>Y<>xuBS<>Q<>a<>S<><01><>Y<>x5זC{<7B><00><>S<>-C<16><05><00><><01><><00><>S<>x<>CT<07><00><>Ķ϶S<>e<>Ci`:<00><><01><><00><>S<><01><>nA|'+
<EFBFBD><1A>S<>I<>_<>nA<02><07><>0<>;<3B>S<><01><>'<27><>q=6Q<><02><07><>;<3B>c<>i<>S<>'<27><>s;Q<><02><07>ai<><01><><00><>k<>end<02><07>X;<3B><01><><00><>S<>end<02><0E>i<>ѷ׷k<>'{<7B>u0<><30><04><><02>;׷<01><><05>S<>'u<>t5<><35><04><><02><07><><05>-<2D>3<>k<>W[<02><07>0׷M<>S<>S<>W[<02>(<28><05>m<>s<>k<>P<>C<>i<><01><><00><>k<><04>7 #wi<><01><><00><>k<><04><><07><><05>͸Ӹk<>V[X<><05><01><><00><>k<>d%
?I<> <0A><13>k<><04>*<07><>I<>-<2D>3<>k<><15><>8<07><>I<>T<>S<>I<><15><>L<07><>j<>z<>S<>I<>_<><15>OllE<01><><00><>S<><04>u<07><>I<><01><><00><>k<>m]~<07>@йֹk<>9<><39>B<05><><01><><00><>S<>I<>'<16>o2<>
W<02><07>"<00><><1E>)<29>S<>I<>' <0B>p7<>
W<02><07><>)<29>Q<>\<5C>k<>I<><15>#<02> [r<>}<7D>k<>I<>at<02><07><><00><><01><><00><>S<>I<>at<02>._)<29><01><>źk<>I<>W<><02>%1<00><>ߺ<00><>S<>W<><02><07>')<29><01><><05>k<>@B<08><00><><1F>%<25>S<>@B2j)<29>?<3F>E<>k<>Ed<07>$<00><>_<>e<>S<>Ed#><00><><><00><>k<>;B2<1F><01><><00><>S<>_<>;BB<07><><01><>ǻS<>q<><15>X:ݻ<00><>S<>|v<0F>;<3B><01><> <0C>S<>i<>_<>|<02><07>q;<3B>&<26>6<>S<>i<>q<>|<02><07> ;<3B>P<>`<60>S<>i<><01><>|<02><07><>;<3B>z<><00><>S<>i<>I<>_<>gG%<07><>;<3B><01><><00><>S<>i<>gG@<07><>;<3B>μ޼S<>i<>i<><15>\W<07>'<01><><00><>S<><01><><15><>iS-<15><1B>S<><15><02>"<22>1<>A<>S<>I<>_<>N{<02> <0B>W<>b<>S<>I<>9<>m<16>w<><00><>S<><01>O_<>t<16>P<><02><><00><>S<>;<3B>I<>_<>vD<05>YȽӽS<>I<><04>O~<05>2<02><><00><>S<>v<>G<05><>;<3B> <0A><1D>S<>i<>q<><04><>b<07>;<3B>7<>G<>S<>i<>q<><04>whcsI<>a<>q<>k<>I<>Fk<>v:9<02><><00><>S<><01><>'<27><>m)V<>dG<16>d<>;<3B><02><>ľS<>;<3B>dG<16><05>6;<3B>ݾ<00><>S<>;<3B>;<3B>" .<02>j<><02><12>S<>e<><01>U" .<02><07>4'<27>7<>S<>e<><01>_Tp<00><>P(<28>
<EFBFBD> |<7C>SiK S <1D>S {<7B>S <0B><>S m<>S <0B><>S <0B><>S -<2D>D<><44>x<02><05>ߩ<01><><00><>ߩMx<02>D"ߩԿ߿ߩ<01><>'<27>Xxw<> ߿Mx<02>r|ߩ <0C><1C>ߩ<1C><01><>'[hv<1A>Ox<02>d<>ߩD<>Y<>ߩ<1C><01><><01><>'<27>yl͂ Y<>x<02><07>#ߩ<01><><00><>ߩ<01><>x<02>_<ߩ<01><><00><>ߩ<01><>x<02><07>Nߩ<01><><00><>ߩ<01><><01><>x<02><07>Wߩ<01><>
<EFBFBD>ߩ<01><><01><>xC,ߩ$<24>4<>ߩ<01><><01><>x5w`CN<>Y<>ߩ-C<16><0E><00><>r<>}<7D>ߩ<01><>CT'5<00><><01><><00><>ߩ<01><>CiR9<00><><01><><00><>ߩ<01><>nA|<08><01><><00><>ߩ<1C><01><>nA<02> Q<03><0E>ߩ<01><>'<27><>q=<3D>Q<><02>\%<0E>6<><<3C>ߩ'<27><>s<07>Q<><02><07><><<3C>d<>j<><02><>end<02>Tg<0E><01><><00><>ߩend<02>f0<<3C><01><><00><><02><>'{<7B>u0<02><04><><02>.<00><><01><><00><>ߩ'u<>t5<07><04><><02>BJ<00><><00><06><02><>W[<02>u<00><> <20>&<26>ߩW[<02><1F><00><>@<40>F<><02><>P<>(h<<3C>`<60>f<><02><><04>7 X<<3C><01><><00><><02><><04><>a<><00><><01><><00><><02><>V[$<00><><01><><00><><02><>d%<07><><1C><01><><00><><02><><04>*<07><><1C><00><06><02><><15><>8<07><><1C>'<27>ߩ<1C><15><>L
<EFBFBD>=<3D>M<>ߩ<1C><01><><15>Ol<07><>c<>i<>ߩ<04>u<07>(<1C><01><><00><><02><>m]~,<2C><01><><00><><02><>9<><39>B<01><><00><>ߩ<1C>'<16>o2<>
W<02>g<><00><><01><><00><>ߩ<1C>' <0B>p7<>
W<02>D<><00><>$<24>/<2F><02><><1C><15>#<02><07><>E<>P<><02><><1C>at<02>wD<00><>i<>t<>ߩ<1C>at<02>i<><00><><01><><00><><02><><1C>W<><02><07><><00><><01><><00><>ߩW<><02><0F><00><><01><><00><><02><>@B <0C><00><><01><><00><>ߩ@B<07>)<00><><12><18><02><>Ed<07>j<00><>2<>8<>ߩEd#<07><><00><>R<>X<><02><>;B2<07><>n<>y<>ߩ<01><>;BB<07><><01><><00><>ߩ<01><><15>X)Z<01><><00><>ߩ|vy <0E><01><><00><>ߩ<<3C><01><>|<02>:<3A><0E><01><> <09>ߩ<<3C><01><>|<02>j!<0E>#<23>3<>ߩ<<3C><01><>|<02><07>f<0E>M<>b<>ߩ<<3C><1C><01><>gG%<07>O<0E>|<7C><00><>ߩ<<3C>gG@R<><0E><01><><00><>ߩ<<3C><<3C><15>\Wse<01><><00><>ߩ<01><><15><>i̹<01><><00><>ߩ<15><02><07><><04><14>ߩ<1C><01><>N{<02><07>
*<2A>5<>ߩ<1C>9<>m<16>><3E>J<>Z<>ߩ<01>O<01><>t<16><05><>p<><00><>ߩ<0E><1C><01><>vD<05><><02><><00><>ߩ<1C><04>O~<05><02><><00><>ߩv<>GJi<0E><02><><00><>ߩ<<3C><01><><04><>bA<><0E>
<EFBFBD><1A>ߩ<<3C><01><><04>wh<07><><1C>4<>D<><02><><1C>Fk<>v<07><>Z<>e<>ߩe<>'<27><>m)<29><>dG<16><05><><0E><02><><00><>ߩ<0E>dG<16>A<><0E><02><><00><>ߩ<0E><0E>" .<02>d/<00><><00><>ߩ<01><><01>U" .<02><1A><00><>
<EFBFBD>ߩ<01><><01>_Tp͂P(<28>w<> O<>SjV S <0B><>S <0B><>S <0B><>S <0B><>S &<26>S <08>S U<>D#<23>x<02> r<01><01><><00><><01>Mx<02>͊<01><01><><00><><01><07>'<27>Xx<1A><> <0B><>Mx<02>?<3F><01><01><><00><><01><01><><07>'[hv<1A>Ox<02>\<01><17>,<2C><01><01><> <0A><07>'<27>yl_ ,<2C>x<02><07><><01>Y<>d<><01><01><>x<02><07><><01>~<7E><00><><01><13>x<02><07>|<01><01><><00><><01><01><><07>x<02><07><><01><01><><00><><01><13><07>x##<01><01><><07><01>%<25><07>x5<07>gC!<21>,<2C><01>-C<16><05>@<19>E<>P<><01><01><>CTq<19>j<>u<><01><13>Ci<05><19><01><><00><><01>%<25>nA|+q<01><><00><><01><01><> <0A>nA<02>hU<01><><00><><01>%<25>'<27><>q=<3D>Q<><02><07><><00><> <09><0F><01>'<27><>s<07>Q<><02>ʾ<0F>7<>=<3D><1F>end<02>l<00><>W<>]<5D><01>end<02><07>O<0F>w<>}<7D><1F>'{<7B>u0*<2A><04><><02>^}<7D><01><><00><><01>'u<>t5/<2F><04><><02> <0A><00><><01><><00><><1F>W[<02>D<>}<7D><01><><00><><01>W[<02><07><><00><><13><19><1F>P<><07><><0F>3<>9<><1F><04>7 <07>6<0F>S<>Y<><1F><04><><07>Q<00><>s<>y<><1F>V[|<7C><00><><01><><00><><1F>d%o<><00><><01><><00><><1F><04>*-<2D><00><><01><><00><><1F><15><>8<07>
<01><><00><><01><01><><15><>L4!<10> <20><01><01><> <0A><15>OlF?6<><<3C><01><04>u[<5B><00><>V<>\<5C><1F>m]~<07><>v<>|<7C><1F>9<><39>B~m<01><><00><><01><01><>'<16>o2<>
W<02>^<5E><00><><01><><00><><01><01><>' <0B>p7<>
W<02><07><00><><01><><02><1F><01><><15>#<02><07>&<18>#<23><1F><01><>at<02><07><><00><><<3C>G<><01><01><>at<02><07>p<00><>`<60>k<><1F><01><>W<><02>2h<00><><01><><00><><01>W<><02><07><><00><><01><><00><><1F>@B<07>~<00><><01><><00><><01>@BuA<00><><01><><00><><1F>Ed<07>*d<><05> <0B><01>Ed#V<>j<>%<25>+<2B><1F>;B2V<>A<>L<><01> <0A>;BB;Ab<>m<><01>%<25><15>X<07><><01><><00><><01>|v6<00><><01><><00><><01><0F> <0A>|<02>e<><00><><01><><00><><01><0F>%<25>|<02>!<00><><01><><06><01><0F>%<25>|<02>ӭ<00><> <20>5<><01><0F><01><> <0A>gG%<07><><00><>O<>Z<><01><0F>gG@<07><><00><>t<><00><><01><0F><0F><15>\W<07><><01><><00><><01><19><15><>i`X<01><><00><><01><15><02><07>C<02><><00><><01><01><> <0A>N{<02>!W<02><><08><01><01><>9<>m<16><1D>-<2D><01><01>O <0A>t<16>T1C<>X<><01><01><><01><> <0A>vD}<7D>n<>y<><01><01><><04>O~<05>u<02><><00><><01>v<>G<05>d<00><><02><><00><><01><0F>%<25><04><>b<07>@<00><><02><><00><><01><0F>%<25><04>whK<><00><><07><17><1F><01><>Fk<>vI<>-<2D>8<><01>8<>'<27><>m)<29><>dG<16><05>/<00><>_<>j<><01><01><>dG<16><05><><00><><02><><00><><01><01><><01><>" .<02><07><><00><><00><><01><13><01>U" .<02><07>b<00><><00><><01><13><01>_Tp_P(<28><00><> "<22>0<><30>l m<>D<><44>O!<06><19><00><>"<22>(<28><02><>O!<06><07>h<00><>A<>L<><02><><04>v<><76><06>1<>Ca<><02><>- <0B><><1D>D<04> y<><1F><><04>ק!!<21><04><07><><00><><00><>
<EFBFBD><01><><1F>X<04>,<2C><> <0B><>[h<04>$<24>O!!<21><04><07>[<00><><00><>
<EFBFBD><01><><01><><1F><><04>-&^"<22><04>%<25><1F>
<EFBFBD><01><><01><>!<21><04>y<><00><>:<3A><10>!r<><04><07>Z<00><>U<><10><1F>y<04><1D>w<><04>%<25><>(<28><00><>m` Q <0C><><1A><> Xa<>5<><35> <0A><>[
a<EFBFBD> b<>\
a<EFBFBD> 7]
a<EFBFBD><12><>_Ԇ(<28><00><><00><>(<28><12><>c<02>M(<28><00><><01>(<28>3<><12><>h<02><>(<28><19>$<24>(<28>9<>W<>unE8<>C<>(<28>?<3F><00><01><><00>?CU<>(<28>- <0C><>V ' <0C><>TX m<>E!<02><07><>E<><00><><00><>K<>E!<02>Rw3<><00><><00><>V<> <0C>X<02><16><> <0B><>|s<02>1<<00><><00><><00><>V<><12><02><07>mK<><01><07>K<><12><02><07>RK<><1F>*<2A>K<>a<><12><02><07>lK<>B<>M<>K<><01>O<03>6GK<>f<>v<>K<><01>Oa<><03><07><>K<><00><><00><>K<>9<><03>
<07><>K<><00><><00><>K<>g<><03> K<><00><><00><>K<>g<>a<><03><07>5C<00> <0B>K<>- <0C>"<14><><1E>%pba<>2<>=<3D>K<><01>O"<1F>,<07>R<>b<>K<>a<><01>O5i5<07>mx<><00><>K<><01>O_Tp<00>(<28><00><> y<>S<>w S <0B><>S <19>S =<3D>S <0B>S <0B><>S ~<7E>S <0B><>Dy<44>x<02><07>Wm<><00><06>m<>Mx<02><07><>m<> <20>+<2B>m<>x<>'<27>Xx<1A><> +<2B>Mx<02>b<>m<>X<>h<>m<>h<>x<>'[hv<1A>O h<>x<02>[>m<><01><><00><>m<>h<>~<7E>x<>'<27>yl<17> <0B><>x<02><0E>m<><01><><00><>m<><01><>x<02>s(m<><01><><07>m<><01><>x<02><07>{m<>!<21>1<>m<><01><>x<>x<02>Pm<>K<>[<5B>m<><01><>x<>x<07>m<>u<><00><>m<><01><>x<>x5C<01><><00><>m<>-C<16><05>@<00><><01><><00><>m<><01><>CTM<><00><><01><><00><>m<><01><>Ci<07><><00><> <0A><18>m<><01><>nA|D<>.<2E>><3E>m<>h<>~<7E>nA<02><06>T<>_<>m<><01><>'<27><>q=xQ<><02><<3C>_<><01><><00><>m<>'<27><>s}Q<><02>[i<00><><01><><00><><02><>end<02>e/_<><01><><00><>m<>end<02>x<00><><01><><00><><02><>'{<7B>u0<><30><04><><02>RN<00><>#<23>)<29>m<>'u<>t5<><35><04><><02><07>f)<29>Q<>W<><02><>W[<02>gS<00><>q<>w<>m<>W[<02><07><>)<29><01><><00><><02><>P<> <09><00><><01><><00><><02><><04>7 ލ<00><><01><><00><><02><><04><><07><>)<29><01><><00><><02><>V[<07>d)<29><11><17><02><>d%<07> h<>1<>7<><02><><04>*zh<>Q<>W<><02><><15><>8<<3C>m<>x<>m<>h<><15><>Lĸ<01><><00><>m<>h<>~<7E><15>Ol<07><><01><><00><>m<><04>uPSh<><01><><00><><02><>m]~<07> <01><><00><><02><>9<><39>B<05><><0F><1A>m<>h<>'<16>o23
W<02>g<><1A>B<>M<>m<>h<>' <0B>p7?
W<02><07>EM<>u<><00><><02><>h<><15>#<02> <0B><02><><00><><02><>h<>at<02><07>A<1A><01><><00><>m<>h<>at<02><07>M<><01><><00><><02><>h<>W<><02><07>a<1A><03> <09>m<>W<><02><07>M<>#<23>)<29><02><>@B@<40><1A>C<>I<>m<>@BWM<>c<>i<><02><>EdiKק<01><><00><>m<>Ed#<07>Y<><01><><00><><02><>;B2<07><><01><><00><>m<>~<7E>;BB*<2A><01><><00><>m<><01><><15>X%<25><01><07>m<>|v<05>*_<> <20>0<>m<><01><>~<7E>|<02><07><>_<>J<>Z<>m<><01><><01><>|<02>$L_<>t<><00><>m<><01><><01><>|<02><07>_<><01><><00><>m<><01><>h<>~<7E>gG%<07><>_<><01><><00><>m<><01><>gG@y<>_<><01><><02>m<><01><><01><><15>\W<07><><18>#<23>m<><01><><15><>i]9<>?<3F>m<><15><02>q6U<>e<>m<>h<>~<7E>N{<02><07><>{<7B><00><>m<>h<>9<>m<16><05><02><><00><>m<><01>O~<7E>t<16><05>c<02><><00><>m<>_<>h<>~<7E>vD<05><><02><><00><>m<>h<><04>O~<05><><11><17>m<>v<>G:<3A>_<>1<>A<>m<><01><><01><><04><>b<07>?_<>[<5B>k<>m<><01><><01><><04>whR<>h<><02><><00><><02><>h<>Fk<>vE<02><><00><>m<><01><>'<27><>m)a<>dG<16><05>x_<><02><><00><>m<>_<>dG<16>{_<><01><11>m<>_<>_<>" .<02><07><>&<26>6<>m<><01><><01>U" .<02>zNK<>[<5B>m<><01><><01><03><02><02>ק}<7D><00><>_Up<00><02><>קm<>s=<00><><02><><00><><10><><00><>m<>h<><01><><01><>_Tp<00>P(<28><00><> <0B><>0<>F2/ <0B><>$<24><>26Y<> <0A>U2:<12><>$[h25<18>O ;22;<13><>i2><11><>m:1<>A<>m:A<><01><>$<24><>27Y<>i2B8pm:g<>m<>m:d2GȀ<00><><01><><00><>s:Q<>2K<07>A<><01><><00><>s:gend2O<07>9A<><01><><00><>s:_E<00> <0B><>1I1|<7C>0<><30>l Z<>D<>O!<06>=<3D><00><><0F><15><02><>O!<06><07><><00><>.<2E>9<><02><><01><>v<><76><06><07>pCN<><02><>- <0B><><1D><><04> f<><1F><><04>b<>!!<21><04><07><>m<><00><><01><><01><><1F>X<04>,<2C><> <0B><>[h<04>$<24>O!!<21><04>O<>m<><00><><01><><01><><01><><1F><><04>-&^"<22><04>N+ <0C><01><>m<><01><>!<21><04>'s<00><>'<27><01><>!r<><04>6R<00><>B<><01><><1F>y<04><1D>ow<><04>%<25><>(<28><00><>^<5E> Q c<><1A><> X.<2E>5<><35> <0A><>[
.<2E> b<>\
.<2E> 7]
.<2E><12><>_Cl<13><00><><00><><13><12><>c<02><><13><00><><00><><13><19><12><>h~<7E><13><06><11><13><1F><00><01>un<07>>"<22><13>%<25> <0C><>V  <0C><>T7 :<3A>E!<02>wt+<2B>c<>i<>1<>E!<02>{<7B><19><00><><00><>7<> <0C>X<02><16><> <0B><>|s<02>kN<00><><00><><00><>7<><12><02><07><>1<><00><><00><>1<><12><02>ڢ1<><00><><00><>1<>=<3D><12><02>`<60>1<><0F><1A>1<><01>O<03>Qk1<>3<>C<>1<><01>O=<3D><03><07><>1<>\<5C>g<>1<><1F><03>
1<><00><><00><>1<>C<><03><07><>1<><00><><00><>1<>C<>=<3D><03>n<>C<00><><00><>1<>- <0C>"s<><1E>%E<>.<2E><00><>
<EFBFBD>1<><01>O"<1F>,<07>0<1F>/<2F>1<>.<2E><01>O5i5TE<>P<>1<><01>O_Tp<00>o(<28><00><> f<>1<>>1Ju1%<25>0<>l <0B><>DaO!<06>s<><><01><><00><><>O!<06><07><><><01><><00><><><01><>v<><76><06><07>SC<01><><>- w<><1D>f<04> <0C><><1F><><04><1B><>!!<21><04><07> <02>/<2F><01><>A<><1F>X<04>,w<> /<2F>[h<04>$<24>O!!<21><04>߻<02>s<><01><>A<>s<><1F><><04>-&^"<22><04><07>9<00><><01><><02>A<>!<21><04><07><>A<><00><><01><>!r<><04><07><>/<2F><00><><01><><1F>y<04>͂w<><04>%w<>(<28>w<>5 Q <0C><><1A><> X<0E><>5w<35> <0A><>[
<EFBFBD><EFBFBD> b<>\
<EFBFBD><EFBFBD> 7]
<EFBFBD><EFBFBD><12><>_e<><00><>Z<>`<60><02><><12><>cS<><00><>x<><00><><02><><01><><12><>hf<00><><00><><00><><02><><01><><00><01>un<07><><00><><02><><01><> <0C><>V <09> <0C><>T<15> <0B><>E!<02><07>F<00><><00><><00><>ǩE!<02><07><><00><><16><1C>ͩ <0C>X<02>w<> <1C>|s<02><07><><1C>E<>K<>ͩ<12><02>ǩc<>i<>ǩ<12><02><07><>ǩ<00><><00><>ǩө<12><02><07>ǩ<00><><00><>ǩ<01>O<03><07>ǩ<00><><00><>ǩ<01>Oө<03><07>)ǩ<00><><00><>ǩ<01><><03>
*,ǩ<15> <20>ǩ٩<03><07>}ǩ9<>I<>ǩ٩ө<03>c<>Cb<>m<>ǩ- <0C>"<08><1E>%"<22><00><><00><><00><>ǩ<01>O"<1F>,c<><00><><00><>ǩ<01><><01>O5i5<07><><03><><00><>ǩ<01>O_Tp͂(<28>w<> <0B><>1<><31>1\<5C>1.0<>l <0B><>D<>O!<06>tv<15>9<>?<3F><15>O!<06><16><15>X<>c<><15><1B>v<><76><06>V<Cx<><15>- <0C><1D><><04> <0C><><1F><><04>d<>!!<21><04><07>#<00><><00><>!<21><01><><1F>X<04>, <0C> <0B><>[h<04>$<24>O!!<21><04><><00><><08>!<21><01><><08><1F><><04>-&^"<22><04>_<>6<>!<21><01><><01><>!<21><04><05><00><>Q<>'<27>!r<><04><07><><00><>l<>'<27>w<><04>%<25><>(<28> <0C>0<>pl <0B><>D\ O!<06><07><>]<5D><01><><00><>]<5D>O!<06><07><>]<5D><01><><00><>]<5D>c<>v<><76><06>;<3B>C<01><>]<5D>- <0B><>e<><04> <0C><><1F><><04>?<3F>!!<21><04>W&<0E>;<3B>i<>M<><1F>X<04>,<2C><> ;<3B>[h<04>$<24>O!!<21><04><07><0E><>i<>M<><><1F><><04>-&^"<22><04><07><><00><>i<><0E>M<>!<21><04>@+M<><00><>o<>!r<><04>5=;<3B><00><>o<>(<28><00><><1D><>5<> <05>h5<><0E><><19><>5<>.<2E>b<>5<>.<2E>75<><10><>h5<>s<>{<7B>L<>R<>{<7B>h5<>Ma{<7B>k<>v<>{<7B><01><>"<22>05<><02><><00><><00><>{<7B><01><><00><02>!5<>ї<00><>{<7B>Hn5<>3<> <1D>A5<>[<5B>5<><35>5<><35><03>A5<><04><><00><><00><><00><><02><><03>A5<><04><><00><><0E><19><02><><01><>=<3D>A5<><02><><00><>3<>><3E><02><><01><><00>\5<><02>^<00><>T<><02><> <0B><><1F><>5<>"<  `<60>g 5<>C`<00><><00><><00><><02><>g 5<>ݩ<00><><00><><00><><02><><1F>X5<> <0C> <0B><>|s5<><1C><00><><00><><00><><02><>=<3D>I5<>J<><00><><01><><01><02><><03>I5@<40><00><><1A>%<25><02><><01><>=<3D>I53<><00><>?<3F>J<><02><><01><><03>I5
<07><>Cc<>n<><02><>-G <0C>5<15><><1E>5<07><><00><><02><><00><><02><><01>O<1F>5<07><><02><><00><><02><><15>05#"<22><02><><00><><02><><01><>b5(š<00>O<02><><01>O(<28> <0C> <0B><>0gl <0B><>D<> O!<06><07><><00><>7<>=<3D><02><>O!<06><07><><00><>V<>a<><02><><01><>v<><76><06>B<>Cv<><02><>-
<EFBFBD>ڱ<04> <0C><><1F><><04><1B><>!!<21><04><07><><00><><00><><01><><01><><1F>X<04>,
<EFBFBD> <0B><>[h<04>$<24>O!!<21><04><07>%<00><><06><01><><01><><06><1F><><04>-&^"<22><04><07><>4<><01><><01><><01><>!<21><04><07><00><>O<><05>!r<><04>ܜ<00><>j<><05><1F>y<04><1D><>w<><04>%
<EFBFBD>(<28>
<EFBFBD><1A><> Q <0C><><1A><> XV<>5
<EFBFBD> <0A><>[
V<EFBFBD> b<>\
V<EFBFBD> 7]
V<EFBFBD><12><>_<02>
<1D><00><><00><><1D><12><>cԈ<1D> <0B><16><1D>#<23><12><>h<02><><1D>.<2E>9<><1D>)<29><00><01>un\dJ<><1D>/<2F> <0C><>V <09> <0C><>T b<>E!<02><07><>5<><00><><00><>;<3B>E!<02>z<>#<23><00><><00><>A<> <0C>X<02>
<EFBFBD> <0B><>|s<02><07><><00><><00><><00><>A<><12><02><19>;<3B><00><><00><>;<3B><12><02>޲;<3B><14><1F>;<3B>G<><12><02><07><>;<3B>7<>B<>;<3B><01>O<03>e<>;<3B>[<5B>k<>;<3B><01>OG<><03>5<>;<3B><00><><00><>;<3B>)<29><03>
bz;<3B><00><><00><>;<3B>M<><03><07><>;<3B><00><><00><>;<3B>M<>G<><03><07><>C<00><><00>;<3B>- <0C>"<14><><1E>%WV<>'<27>2<>;<3B><01>O"<1F>,<07><>G<>W<>;<3B>V<><01>O5i5m<>x<>;<3B><01>O_Tp<00><>(<28>
<EFBFBD> <0B><>1{1<><31>1q0D<30>l <17>D@O!<06>+J<00><><01><><00><><02><>O!<06>C<><00><><01><><00><><02><><01><>v<><76><06><07>C <0B><02><>- <0B><>^<5E><04> #<23><1F><><04>d<>!!<21><04><07><>*<2A>W<><01><>i<><1F>X<04>,<2C><> W<>[h<04>$<24>O!!<21><04><07><>*<2A><00><><01><>i<><01><><1F><><04>-&^"<22><04>Ă<00><><01><>*<2A>i<>!<21><04><07>bi<><00><><01><>!r<><04><07><>W<><00><><01><><1F>y<04>_w<><04>%<25><>(<28><00><>P Q <20><1A><> X<0E><>5<><35> <0A><>[
<EFBFBD><EFBFBD> b<>\
<EFBFBD><EFBFBD> 7]
<EFBFBD><EFBFBD><12><>_<02>b˫<00><><00><>˫<12><>c<02>z˫<00><><00><>˫ѫ<12><>h<02><>˫<00><><00><>˫׫<00><01>un<07><00><>˫ݫ <0C><>V <09> <0C><>T<15> <0B><>E!<02><07><><00><> <20>&<26><02><>E!<02><07>Hѫ><3E>D<><02><> <0C>X<02><16><> D<>|s<02><00>D<>m<>s<><02><><12><02>Ғ<00><><00><><00><><02><><12><02><07>Z<00><><00><><00><><02><><01><><12><02>B<><00><><00><><00><><02><><01>O<03>g~<00><><00><><00><02><><01>O<01><><03>E<><00><><19>$<24><02><>׫<03>
<07><><00><>=<3D>H<><02><><01><><03>S<00><>a<>q<><02><><01><><01><><03><07>NC<00><><00><><02><>- <0C>"0<><1E>%<07>.<00><><00><><00><><02><><01>O"<1F>,<07>)<00><><00><><02><><01><><01>O5i5T<02> <0A><02><><01>O_Tp_(<28><00><> #<23>1A11<31>1N<31><00><01>5-B(<06>paقbjUc<06><>j<06>Q<06>L!d<><06> <06><>J<06><> +<2B>g<06><>r<06>do̩h <20>RYwQ_]'H<06>r<06>T<06><>$<06>}&<06><>q<06><>+<06><>T5<06>}<06><>xuŃ<06><><06><>Z<06>5d<06><>f9<>e<06>i<06><>
<06>XC<06>D%<06>.=<06><>*v\<06><><06>r?<06>(<06><06>s<06>b<06><><06>vX҉<<06><>kx<> ڤ_<06>F}ɄsǦ<06><>_<06>7 <06>m<00><06>n }<7D>GѤ]=<06>#j<> <06>G"Q<00>5<>>AOn<06><><06>J<06>XF{(KDD[w<>>-6op<06><06>g<06>y<06>z<>sT #<23>"#i<00><><EFBFBD><EFBFBD><01>z<00><><EFBFBD><EFBFBD>xw<>?-6<><08><06>?͟jT<06>G#<23>2#~<00><><EFBFBD><EFBFBD><01><><00><><EFBFBD><EFBFBD>x<00><01><>Q<00><02>y6[ 4<04>y6_<07>{?<3F><01><00>?<3F><04>y6`<07>AC ?<3F>-<00><1A>6c<1B>=<00><01><>6d'?6<>p'<17>6<>7R Q<>7S E<>7T <0B>07\ c<>7e ~<7E>7h <0B><>7i <0B><><00><01>U<00>Յ]<07>GC<01><01><00><02>x-0օ<18><07><><00>x<02><00><02>x-0$<08>G/<2F>l<07><06><02>x <0C>
bPF<00>MJ<>{.8<><05>l<>put8<>J<>~8i<00><01>yr
=PF<00>O<00>e<><00>
bPF<00>M<00><01><>c$<24>!9<>bi<>9A<00>n<02><00><02>n<04><>9<><07><><00>n<02><00><02>nQ<>9<07>J<00>n<02>nS<>9<><07>Q<00>o &<02>o<00>R<>9<><07>C<01>EP<02>o-
bPF<00>M <0B><00><00>'<27>!<01>b<01><02><><<07>zrh<02><00>Tib<04><>h<07><>r<01><00>Tib
b<00><1A><00><><01> h<1D>-:<3A> _Tpѭ<1D>K:<3A> 55<><00>&8:<3A>_Tpѭ<00><01>-R
=PF<00>O:<3A> j_Tp<00><><1D><>:<3A> <0C>5R<00>&8:<3A>_Tp<00><><1D><>x <0C>_Tpŭ*l<18> <0C>5<><00>&8<18>_Tpŭ5<>x <0C>_Tp˭ <18> !5<><00>&8<18>_Tp˭mdiv&<26>8<><00>@;< Q;= ];> y6;@ 2<>;A ?<3F>;B Z<>;C v<>;D <0B><>;E <0B><>;F ij;G ڳI<>!9 k&8!;-~ <0C>y!<-w<12><>!><11>k<00><00><00><02><>o<>!C<03><00><00><00><02><>_TpwC__vw <0B>զ!9 <0C>k&8!;-s <0C>y!<-<Py!>o;-QW
<EFBFBD>o<>!C<1C><>-ou
<EFBFBD>_Tp<C__v< <00><01><>= <0A><00>_V2+W:<3A>2  <09><>=9<>7;
 <0B>6now@^<5E><00>!a<>D$]Ŵ<00><15>KL<><00>]<00><02>NY <09><>`9<>^;<3B> 6nowck7}+<16>|M.
=#vD <0C>jF<><01><00>F<>=#vF'
F<><01><00>F<>Q<>=@(W?'C<01><00>F<>-=CX ?<3F>W<><01><00>F<>Q<><00>rep;<14> <0B><03>\II<00>)/]<5D>aBa<02><>`HN]<5D>kBe<10>`gm]<5D><03><>i?tW<><00><00>F<><03><>pGs`<00><00>F<>-N<>t<02><>W<><00><00>F<>N<>{ޖ`<00><00>F<>-P<><02><>W<>  F<>Q<> <0B><1C>i<>W<>0 ; F<>Q<><03><><1C><02><>W<>T _ F<>h<><0E><1C><02><>W<>x <00> F<>h<> <20><><1C><02>q`6min<1C>p `6max<1C>{<7B>`d__r<1C><06><03>َM*<2A>F<><00> <00> <13><00>F<>n<>&<26><00><10><>{ `1<>h 9<>o <0C><>˴2
8
˴<00>9<>r9<>˴R
]
˴Ѵ#vk` ]
RC<>]
<00>
<00>
״P<><1C>sTݴ<00>
<00>
˴Ѵ <0B><1C>foݴ<00>
<00>
˴Ѵ6min<1C><02>E
6max<1C>3<>
d__d<1C> ]
Ĝ<00><10><`
<1D>J.<0E> =#vD (<00><>G M <02><>=#vF<02>.<00><>g r <02><><01><>=@(W<02><>C<01> <00> <02><>-=CX <0C><><00><><01> <00> <02><><01><><00>rep;<14> <0B> <03>\<02>J<00> <00> <00> <02><>aBa<01>   <02><>kBe<02><> & , <02><><03><>iv<><00><>E K <02><><03><>pZ d o <02><>-N<>t<02> <00><><00> <00> <02><>N<>{]  <00> <00> <02><>-P<><02>O<00><><00> <00> <02><><01><> <0B><1C><02>A<00><><00> <00> <02><><01><><03><><1C>y<><00><>  <02><><05><0E><1C>f<><00><>7 B <02><><05> <20><><1C><02>y 6min<1C>l<> 6max<1C>)r d__r<1C><06> <03>َMHy<00><><00> <00> <13><00><02><>n<>&<26><00>P<><50>l  n_<6E>1<>.<0E>=#vD 6Oȵ<01> <00> ȵ=#vF <0B>ȵ"ȵӵ=@(WDC<Gȵ-=CX 0rٵalȵӵ<00>rep;<14> l<03>\@fl<00><00>ߵaBa0 <00> <00><00>ߵkBe <00> <00><00>ߵ<03><>i`Oٵ<00><00>ȵ<03><>p.O<00> ȵ-N<>t(wٵ8>ȵN<>{<02>v<00> Wbȵ-P<><02><>ٵ{<00>ȵӵ <0B><1C><02><>ٵ<00><00>ȵӵ<03><><1C><02><>ٵ<00><00>ȵ<01><><0E><1C>M<>ٵ<00><00>ȵ<01><> <20><><1C><02>3<00> 6min<1C><02><><00> 6max<1C>lv<00> d__r<1C>l<15>Tȵ_j<13><00>Clȵ<01><><00>َM<17><>ȵ<00><00><13><00>ȵn<>&<26><00><10><> <0B> }<1C>}<1A><1C>"(<28><><1C><04>a <00>&<26><00><10><>ӵ ' _CF_CR<00>K<>Kf<4B>><3E><1C><0E>(p"<1C><04>0<00> [&<26><00><10><>l<01><> '<00> _CF <09>_CR<00>K<>Kf<4B>$<1C><0E>(<28><><1C><04>z`<00>&<26><00><10><>ӵ '`_CF<00><>_CR<00>K<>Kf<4B> v<1C><N(<28><1C><14><00>5 '`&<26><00><10><>ӵ!Z<><1C>=E<00><>y <0A><00>C<13><00>Clӵ<01><> v<1C><&<26>(<28><><1C><1F>y<00> '<00> &<26><00><10><>l<01><> v<1C><<3C>(~<1C>0<><00><00> ' &<26><00><10><>ӵ!^<5E>BϽ? <0A><00>C<13><00>Cӵӵ<00><01><>/H5 <0A><00>C<13><00>Cӵӵ<1A><>!9 <0C>k&8!;-<2D> <0C>y!<-<2D>'w!><11><><00><00><00><1A>o<>!Cy<><00><00><00><1A>_Tp<00>C__v<00> <0B>.F!9 vk&8!;-<2D> <0C>y!<-<2D><<3C>!>0<>:@.<2E>o<>!C<02>X^.<2E>_Tp<00><00>__v<00>ʚ; <0B>P7< <0C>~num<!<21><01>den<!<21>ʚ;K<><4B><00><01>$N<00>ʚ;<1D><>< <00>num<!<21>ʚ;~den<!<21><01><01><><00>ʚ;K$N<00><1D><>< lpA.<!<1D><01>H.<#<1D>ʚ;Lnum<-!<21>Lden<.!<21>_R1{_R2<00><1D>2< <0C>~num<!<21>~den<!<21>K<><4B><00><01>$N<00>R^<< <0C>Lnum<D!<21>Lden<E!<21>_R1{_R2{<1D>!<21> <1F><>!<21> _Tp ?< kpA.<!<1D>pH.<#<1D>Lnum<-!<21>Lden<.!<21>_R1{_R2l<1D><><< <0C>Lnum<D!<21>Lden<E!<21>_R1{_R2l<1D><>< pA.<!<1D>pH.<#<1D>Lnum<-!<21>Lden<.!<21>_R1l_R2l<1D><><< @Lnum<D!<21>Lden<E!<21>_R1l_R2l`v!<21> e<1F><>!<21>`_Tp`Ȯ< <0C>pA.<!<1D>pH.<#<1D>Lnum<-!<21>Lden<.!<21>_R1l_R2<00>%f<< <0C>Lnum<D!<21>Lden<E!<21>_R1l_R2{E<>< C<00>num<!<21>~den<!<21><01><01><><00><0E>$N<00><1D><>< <0C>~num<!<21><~den<!<21>K<><4B><00><<3C>$N<00>H<>!9 <0C>k&8!;-<2D> <0C>y!<-<2D><12>U!><11><><00><00><00><02><>o<>!CWp<00><00><00><02><>_Tp<00><00>__v<00><00> <0B><1D>-< G~num<!<21><01>den<!<21><00>K<><4B><00><01>$N<00><00><1A>~!9 <0C>k&8!;-<2D> <0C>y!<-<2D><12><>!><11><>a<00><00><02><>o<>!CQ<>a<00><00><02><>_Tp<00><00>__v<00>@B G<11>< ~num<!<21><01>den<!<21>@BK<><4B><00><01>$N<00>@B0<>H< <09>$<24><>?!<21>=<02>)Bo<>HD:^<16>RX<16><00><01>HQ<05>L<16>r}<16><1C><00>CRP<>"<22><02><16><1C> 0,V <09>5o,^u<>(<28><01><00>(<28>oh$_~<7E>C<01><00>(<28>-<00>,a<05>(<28>!(<28>
<EFBFBD><00><01>^<0E>";<3B>E<><01>E<> <0B>b <0E>
"<00>b <0E>#<23><>K<>K<> <0B><1A>w<0E>
Q<00><01>w<0E>"<22><>Q<>JQ<> '<00><00><0E>,<2C><><00><03>k3<0E>-e3"<03><01> <0E>,<2C> Q<13>=.
<EFBFBD><00><13>=.%<25><>u<><01>u<> <0B><00>R(=0/L(<00><03><01><>=C
<1A><>=E
*<1A><>=G <00>C=G<19>
<02><>&5<> <0A><>=G6<47><00><01>i
`
*<00><01><>
j/<2F><>5>V<14>>Wi<>>X<14>>Y<14>>Z<14>0<><30>0?A <09> <0C><>?D<1F>= 5O?G<1F><0E><>?OR1<00><><01><00><02><><0E><>?Py<>C<01><00><02><>-<00><01><>?R<05><><00><><01><02><><01><><00>C?SBS<00><>*<02><><01><>9<>!?V<05>?E<02><>9Ko?Y]<5D>Z`<02><>9<>?\<11>u<00><02><><01><>$)?M<1E><>v<><76>?<3F><05>K<00><01><02><> w0\<0E> \!G<><0E><07><><00><><01><00><02><><00>G<><0E>EK<00><><01><00><02><><01><>$Y<0E><16>G<><0E><07>^<00><>%5<02><><01><><01>G<><0E>; <00><>N^<02><><01><><01>G<><0E><07>w<00><>w<00><02><><01><>'F<><0E><07>eC<01><00><02><>-<00>G<><0E><07>h<00><><01><00><02><><01><><00>C<0E>#<00><><01><00><02><><01><>G<><0E>Y <00><>  <02><>C<0E><14>N<00><>2 = <02><><15>H<07>#S Y <02><>Ħ4<>s y <02><>N<>=Qz<01> <00> <02><><15>\I<07>}<01> <00> <02><><01><><04>P@<40>ȶ<01> <00> <02><> <0B>Y<07>x<01> <00> ζ\!!ζ,`m<>ȶ0!6!ζE<>dȶj<>e <10><><00> <0B><00>p<> <0A>j<>C<00><19> <0A><13>Ew<><77>w@7<10>!jW<06><>tJ<06><><06><06>j <0C><>@?<07>!0<><30>> &<00>idM /" <0A><>O/"gidR6<>Զ""Զ<00>idU<07><>Զ#"Զ/"$)J<1B>= /<2F>g <0B>!o<><6F>q<05>߶c"i"߶<0E><><08><05><>C<01>"<00>"߶-<00><01><><08><05>)߶<01>"<00>"߶<01><><0E><><08>\Z߶<01>"<00>"߶<01><><00>C<08>
<EFBFBD><00><><01>"<00>"߶<01><>C<08> ا<00><>##߶<01><>9<>\<08><05><>4#?#߶<01><><0E>I<08><05>X#^#<02><>9<><39><08> <0B>s#y#߶9<>9<08><05>E<01>#<00>#߶<0E>n<08>o<><00>!<01>#<00>#<02><><0E><><08><05><>/"<01>#<00>#߶<00><02><08>U wW|><08><05>n<00>#$߶$E$y<>H*&<01><02>l8$<00><01>l%2<18>1$<18><1A>w<08><0E>$ *<2A><08> <09><><00>o<><08>c$i$<02>;<00>-<2D><08><04>$<00>$<00><<3C><08><15>$<00>w<02>;<01><><00><01><><00>;<00>$<00>$<02>;<01><<10><><00><><00><02>L<08>$<00>%5$<00><01>I<00><<00>$<00>$<02><<01><<00><01>I<00><%%<02><<01>< <0A><><08> 8$<04><01>I<08><02><5%@%<02><<01><<00><02><><08><02>$Y%_%<02><<00><02>IC<01>$v%<00>%<02><-t<>8$ <0B>$<00><01><><08>$<00>%t<>8$<01><<00>Y<>8$<01>%t<>N<>q8~<<00>(Zv߶<01>%t<>N<>q8߶~< <0B>!0<><30> <0C> <0B>( *<2A> <0C>![)<0E><> <0C>ˋ<00><>;&K&<02><>K&<01>0$<24><> <0C>D<EFBFBD>)<0E><> <0C>(<00><>q&<00>&<02><>K&<00><0E><> <0C><07>]<00><><01>&<00>&<02><><06><04><> <07><>C<01>&<00>&<02><>-C <00> <0C><01>&<00>&<02><><06>C <z<> <0C> ''<02><>!$WB FD<><00>0.'4'<12><16> N<07><>K&N'T'<12>get VVoK&n't'<12>$<24>  <0C> <20>( t'<04>< [$<18><01>'<00>'<02><><04>< `a<1E><01>'<00>'<12> d<1F><01>'<00>'<12><04> kq<>K&((<02><><15>! yP<>('(<02><>K&<15>\ <0C>l<>=(H(<02><> <0C><00><01><> <0C><07><><00><>c(n(<02><>$<24><00>C <0C><13> <0C><01>(<00>(<02><>$<24><00>'P <0C>(<00><><01>(<00>(<00>_Up<00>(<02><>K&_Tp$<00>_Dp<00>( &<1A>D ; 1)H<>H >|{<07>))<07>Wo<57> KG<>)') <0A><18>_Tp$ <0B>(<1D>7!<21> [)<1F><>!<21><15>(_Tp<00>(0|<7C> x <0B>*#k { <09>) <0C><> }<18>_Up$_Ep<00>(o?<3F> <0C> ط<01>)<00>)ط?<3F> <0C>
<EFBFBD>ط<01>)<00>)ط<01>)$<24><> <0C>4u)F<> <0C><12>&<00><><01>)*طF<> <0C>_8<00>)*#*<02><><0E><> <0C><12>Q@<40><*B*ط<0E><> <0C><12><>.<2E>[*a*<02><> *<2A> <0C><1B>/_Tp$_Dp<00>( [)<1A>:
I <0C>+5<>(5
L<11>)#<23><00>*<00>*#<23>5
O?#<23><00>*<00>*#<23>.<2E>H5
R<11>#<23><01>*<00>*#<23>4<>H5
S<11><>#<23>+"+#<23>:<3A>5
Y<07>#<23>:+J+#<23><01><01>(TZ
q<07><>@<40>d+F<>(TZ
t<07>~.<2E>~+4<>K<><4B>wz;<00>( <0B>*u<>
W <0C>,D<>*!TZ
_%<25>@<40><00>+L<>!TZ
b44.<2E><00>+R<>8
d<11>4X<><00>+,X<><00>8
h<11><>X<>,&,X<>.<2E>=8
p<11><>X<>@,K,X<>R<>8
s<07>X<>d,o,X<>c<>C
<EFBFBD><07>ML<><00>,<00>,X<>R<>C
<EFBFBD><07><>L<><00>,<00>,X<>c<><15>\
<EFBFBD><07><><02>,<00>,X<>L<>K<><4B>w<01><01>lT<>( <0B>+2<>
x .5
z<11><>i<>--i<>5
}Rqi<>7-B-i<>t<>H5
<EFBFBD><11>Si<>[-f-i<>z<>H5
<EFBFBD><(i<>-<00>-i<><01><>5
<EFBFBD>t<>i<><00>-<00>-i<><01><01>(TZ
<EFBFBD><07>D<00><><00>-<01><>(TZ
<EFBFBD>2rt<><00>-z<> <0A><>
<EFBFBD> <18>K<><4B>wz;<18> <0B>,< 
<EFBFBD> <0C>/5<>+D<>,(TZ
<EFBFBD><07>U<00><>@.<01><>(TZ
<EFBFBD><07><>t<>Z.<01><> Ʊ
<EFBFBD>/<2F>+ Z.(6
<EFBFBD><07><><00><><00>.<01><>(6
<EFBFBD>T<00><><00>.<01><>8
<EFBFBD><11>V<00><><00>.<00>.<02><><00>8
<EFBFBD>z<><00><><00>.<00>.<02><>t<>.<2E>H8
<EFBFBD>J<><00><><01>.
/<02><><01><>8
<EFBFBD><07><><00><>"/-/<02><><01><>C
$h<><00><>F/Q/<02><><01><>C
,b<00><>j/u/<02><><01><><15>\
KB<02>/<00>/<02><><01><>K<><4B>w<00><01>lT<18>T<>( .S<>

<EFBFBD> <0B>0D .<01><01><>
<EFBFBD><03><00><><01>/<00>/<02><>Ʒ<00><01><>
<EFBFBD><<00><>00<02><>̷C
<EFBFBD><07>-ҷ40?0<02><>ƷC
<EFBFBD>N<>ҷY0d0<02><>̷<15>\
<EFBFBD><11>z0<00>0<02><>ҷ<04>
<EFBFBD><1B><00><><01>0<00>0<00>_U1<18><00>_U2<00>(<02><><00><01>lT<18>T<>( <0B>/<1D>6!<21> <0C>0<1F><>!<21>.<2E> {!<21> 1<1F><>!<21><16><>_Tp$FD@<40> ]9hR<68>@<40>a$<24><>@<40>i<00>@<40>(-1H<><48>@<40>O<>3<>b1h13<>H<><48>@<40>=<3D>C<01>1<00>13<>-:<3A><>@<40><07><>3<><00>1<00>13<>9<>:C@<40>c?<3F><00>1<00>13<>9<>:C@<40><16>v?<3F><00>1<00>1E<>9<><03><>@p<>3<>223<>-1d<>@<07>-12282K<>d<>@<>-1Q2W2Q<>C@ <07><>-1p2{23<>-1C@d-1<00>2<00>2E<>-1<03><>@<07>-1<00>2<00>23<>-<03><>@<07>P-1<00>2<00>2E<>-N<>@ <0B>-13 33<>-N<>@#xx-1$3/3E<>-<03><>@'F<>-1H3N33<><03><>@+oQ-1g3m3E<>N<>@/<07><>-1<00>3<00>33<>N<>@3<07>x-1<00>3<00>3E<>P<>@7<07>-1<00>3<00>33<>-1P<>@;<07><>-1<00>3<00>3E<>-1 <0B>@?O;-1 443<>-1 <0B>@Cջ-104;4E<>-1n<>@G<07>A-1T4_43<>-1n<>@Kp<>-1x4<00>4E<>-1ќ@Ow<>-1<00>4<00>43<>-1ќ@S<07>-1<00>4<00>4E<>-1[@W><3E>-1<00>4<00>43<>-1[@[5.-155E<>-1<03>v@_<16>,525K<><03>v@g<07>PK5Q5Q<>"<22><>@o8Tf5v53<>-1<01>!"<22><>@z<07><00>5<00>5E<>-1<01>!<03><>@<40>v-1<00>5<00>5K<><01>!<03><>@<40><07>-1<00>5<00>5Q<><01>!X<>@<40>6I-1<00>5 63<>-1<01>!X<>@<40><07>-1%656E<>-1<01>!5<>@<40><07>lN6h63<>W<>-1<01>!<01>!5<>@<40><07><><00>6<00>6E<>W<>-1<01>!<01>!5<>@<40><07><><00>6<00>63<>W<>-1<01>!5<>@<40> <0B><00>6<00>6E<>W<>-1<01>!}@<40>O}7*73<>W<>-1<01>!<01>!}@<40><07><>C7]7E<>W<>-1<01>!<01>!}@<40><07>5v7<00>73<>W<>-1<01>!}@<40>Nf<00>7<00>7E<>W<>-1<01>!<03><>@] -1<00>7<00>73<>-1<01>!<03><>@X<>-1<00>7 8E<>-1<01>!܇@
<>-1$8483<>-1<01>!܇@!<21>-1M8]8E<>-1<01>!ƞ@ŝ-1v8<00>83<>-1<01>!ƞ@"-1<00>8<00>8E<>-1<01>!6<>@<07>E-1<00>8<00>83<>-1<01>!6<>@# <20>-1<00>89E<>-1<01>!U8@(<07>-19*93<>-1<01>!U8@-Ý-1C9S9E<>-1<01>!<10>e 1N1 b9<1A><>A?
<EFBFBD>=<00><01><>AB1HOAEe<>]<5D><01>9<00>9]<5D>H<17>AF-KC<01>9<00>9]<5D>-:OAG<05><>]<5D><00>9<00>9]<5D>c<>:CAH li<>::]<5D>c<>:CAI i<>):4:o<>c<>OAK<0F><>]<5D>L:W:]<5D>CAN<05><>o:z:]<5D>CARo_<00>:<00>:o<>ܙAU<05><><00>:<00>:u<>ܙAX<05>_<00>:<00>:{<7B><12>vA\&<26><00>:<00>:u<><12>vA_<05><>;;{<7B>l<11>AbW<><57>AfI7;G;]<5D><01>!W<><57>Aj<05><>[;k;o<><01>!<12><>An<05><00>;<00>;u<><01>!<12><>Ar<05>t<00>;<00>;{<7B><01>!X<>AvR<><00>;<00>;]<5D><01>!X<>Az<05>W<00>;<o<><01>!5<>AZ<><3<]<5D>ڤ<01>!<01>!5<>A<><05><>K<e<o<>ڤ<01>!<01>!5<>A<><05>e}<<00><]<5D>ڤ<01>!5<>A<><05><00><<00><o<>ڤ<01>!}A<>@<<00><<00><]<5D>ڤ<01>!<01>!}A<>w0 =#=o<>ڤ<01>!<01>!}A<> <09>;=P=]<5D>ڤ<01>!}A<><05>Yh=}=o<>ڤ<01>!_Tp l9Nl9 <0B>=]<5D>@<40> <0C>EhR<68>@<40>a$<24><>@<40>bi<00>@<40>(<28>=H<><48>@<40><07><><00><><01>=<00>=<02><>H<><48>@<40>!^C>><02><>-:<3A><>@<40><07>x<00><>)>4><02><><01><>:C@<40>l<><00><>L>W><02><><01><>:C@<40>TY<00><>o>z><02><><01><><03><>@<11><><00><><00>><00>><02><><01>=f<>@.N<00>=<00>><00>><02><>f<>@<07><><00>=<00>><00>><02><>C@ ;<3B><00>=<00>>?<02><><01>=C@L8<00>=?$?<02><><01>=<03><>@<07><><00>==?H?<02><>-<03><>@<07>-<00>=a?l?<02><>-N<>@<07><><00>=<00>?<00>?<02><>-N<>@#%Q<00>=<00>?<00>?<02><>-<03><>@'<07><><00>=<00>?<00>?<02><><03><>@+.<00>=<00>?<00>?<02><>N<>@/{<7B><00>= @@<02><>N<>@3R<00>=*@0@<02><>P<>@73<><00>=I@T@<02><><01>=P<>@;\<5C><00>=m@x@<02><><01>= <0B>@?#<00>=<00>@<00>@<02><><01>= <0B>@C<1A><00>=<00>@<00>@<02><><01>=n<>@G2<><00>=<00>@<00>@<02><><01>=n<>@K<07><><00>=<00>@A<02><><01>=ќ@O<07>s<00>=!A,A<02><><01>=ќ@S<07><><00>=EAPA<02><><01>=[@W w<00>=iAtA<02><><01>=[@[3<><00>=<00>A<00>A<02><><01>=<03>v@_<07><><00>A<00>A<02><><03>v@g <00>A<00>A<02><>"<22><>@oo@<00>A<00>A<02><><01>=<01>!"<22><>@z FB B<02><><01>=<01>!<03><>@<40>pA<00>=9BDB<02><><01>!<03><>@<40>Sj<00>=]BhB<02><><01>!X<>@<40><07><><00>=<00>B<00>B<02><><01>=<01>!X<>@<40>aj<00>=<00>B<00>B<02><><01>=<01>!5<>@<40><1F><00>B<00>B<02><><01><><01>=<01>!<01>!5<>@<40><07>C C<02><><01><><01>=<01>!<01>!5<>@<40>{9CNC<02><><01><><01>=<01>!5<>@<40>0<>gC|C<02><><01><><01>=<01>!}@<40>e9<00>C<00>C<02><><01><><01>=<01>!<01>!}@<40>*<2A><00>C<00>C<02><><01><><01>=<01>!<01>!}@<40><07><00>CD<02><><01><><01>=<01>!}@<40><07>;)D>D<02><><01><><01>=<01>!<03><>@<07>/<00>=WDgD<02><><01>=<01>!<03><>@<07><><00>=<00>D<00>D<02><><01>=<01>!܇@
<07><><00>=<00>D<00>D<02><><01>=<01>!܇@<07><00>=<00>D<00>D<02><><01>=<01>!ƞ@?<3F><00>=<00>D E<02><><01>=<01>!ƞ@<07>A<00>=$E4E<02><><01>=<01>!6<>@<07>5<00>=ME]E<02><><01>=<01>!6<>@#<07>E<00>=vE<00>E<02><><01>=<01>!U8@(<07>A<00>=<00>E<00>E<02><><01>=<01>!U8@-<0E><00>=<00>E<00>E<02><><01>=<01>!<10>eb <0B>=N<>= <0B>E<1D><>A" 6GA" <0C>>A" <0C>>A" ?A" <0C>>A" W>A" 4>5<>==OA'<07>b<00><>UF[F<02><>=<17>A(7)CuF<00>F<02><>-?OA)l<><00><><00>F<00>F<02><>ø?CA*
Pɸ<00>F<00>F<02><>ø?CA+<0F><>ɸ<00>F<00>FϸøOA-<11>a<00><>GG<02><>G<1F>'A$b <11>A3_Tpb <0B>EN<>E<1A>F@<40> <0C>OhR<68>@<40>a$<24><>@<40>i<00>@<40>(\GH<><48>@<40><07><00><><01>G<00>G<02><>H<><48>@<40><07><>C<01>G<00>G<02><>-:<3A><>@<40><02><00><><00>G<00>G<02><><01><>:C@<40><16>.<00><><00>GH<02><><01><>:C@<40>F<><00><>H$H<02><><01><><03><>@{<00><>=HHH<02><>\G7<>@<07><>\GaHgH<02><>7<>@<07>U\G<00>H<00>H<05>C@ )\G<00>H<00>H<02><>\GC@<07><>\G<00>H<00>H<02><>\G<03><>@<07>\G<00>H<00>H<02><>-<03><>@&<26>\G II<02><>-N<>@<07>5\G/I:I<02><>-N<>@#į\GSI^I<02><>-<03><>@'U\GwI}I<02><><03><>@+t<>\G<00>I<00>I<02><>N<>@/<07>5\G<00>I<00>I<02><>N<>@34<>\G<00>I<00>I<02><>P<>@7O\G<00>I<00>I<02><>\GP<>@;$<24>\GJ"J<02><>\G <0B>@?<07>u\G;JFJ<02><>\G <0B>@C<07><>\G_JjJ<02><>\Gn<>@G`U\G<00>J<00>J<02><>\Gn<>@K<1F>\G<00>J<00>J<02><>\Gќ@O<07><>\G<00>J<00>J<02><>\Gќ@SaU\G<00>J<00>J<02><>\G[@W<>\GKK<02><>\G[@[<07>Q\G7KBK<02><>\G<03>v@_<07><>[KaK<02><><03>v@g<07><>zK<00>K<05>"<22><>@o| <00>K<00>K<02><>\G<01>!"<22><>@z<07><00>K<00>K<02><>\G<01>!<03><>@<40>}<7D>\G<00>K<00>K<02><><01>!<03><>@<40>D<>\GLL<05><01>!X<>@<40><07><>\G+L;L<02><>\G<01>!X<>@<40>f\GTLdL<02><>\G<01>!5<>@<40>~2}L<00>L<02><> <0B>\G<01>!<01>!5<>@<40>k<00>L<00>L<02><> <0B>\G<01>!<01>!5<>@<40> 7<00>L<00>L<02><> <0B>\G<01>!5<>@<40><07>M&M<02><> <0B>\G<01>!}@<40>'<27>?MYM<02><> <0B>\G<01>!<01>!}@<40>WrM<00>M<02><> <0B>\G<01>!<01>!}@<40>P_<00>M<00>M<02><> <0B>\G<01>!}@<40><1F><00>M<00>M<02><> <0B>\G<01>!<03><>@g<>\GNN<02><>\G<01>!<03><>@<07>o\G*N:N<02><>\G<01>!܇@
:\GSNcN<02><>\G<01>!܇@<16>\G|N<00>N<02><>\G<01>!ƞ@<07>N\G<00>N<00>N<02><>\G<01>!ƞ@%\G<00>N<00>N<02><>\G<01>!6<>@<07><>\G<00>NO<02><>\G<01>!6<>@#fw\G O0O<02><>\G<01>!U8@(L<>\GIOYO<02><>\G<01>!U8@-<07>\GrO<00>O<02><>\G<01>!<10>e @GN@G <0B>O<1D><>A9 <0C>PA9 HHA9 gHA9 <0C>HA9 <0C>HA9 HA9 <0C>G5@G=OA>[<5B><11><01>OP<11>=<17>A?<07><>CP*P<11>-?OA@<07>V<11>CPNP<11><17>?CAAb<><1D>gPrP<11><17>?CABD6<1D><00>P<00>P#<23><17>OAD<11><><11><00>P<00>P<11><01>P<1F>'A; <11>AJ_Tp <0B>ON<>O$K@<40> 6YhR<68>@<40>a$<24><>@<40><15>i<00>@<40>(QH<><48>@<40><07>W;<3B>;QAQ;<3B>H<><48>@<40><07>CZQeQ;<3B>-:<3A><>@<40> <0B>;<3B>}Q<00>Q;<3B>A<>:C@<40><16>,G<><00>Q<00>Q;<3B>A<>:C@<40><16><>G<><00>Q<00>QM<>A<><03><>@<11>W;<3B><00>Q<00>Q;<3B>Q
<EFBFBD>@FDQ RRS<>
<EFBFBD>@<07><>Q*R0RY<>C@ <07>kQIRTR;<3B>QC@<17>QmRxRM<>Q<03><>@aQ<00>R<00>R;<3B>-<03><>@<07><>Q<00>R<00>RM<>-N<>@<07><>Q<00>R<00>R;<3B>-N<>@#YQ<00>RSM<>-<03><>@'HaQ!S'S;<3B><03><>@+<07><>Q@SFSM<>N<>@/8<>Q_SeS;<3B>N<>@3"Q~S<00>SM<>P<>@7<07><>Q<00>S<00>S;<3B>QP<>@;<07>Q<00>S<00>SM<>Q <0B>@?4<>Q<00>S<00>S;<3B>Q <0B>@C<07>CQ TTM<>Qn<>@G<07><>Q-T8T;<3B>Qn<>@K<07>*QQT\TM<>Qќ@O<07>(QuT<00>T;<3B>Qќ@S<07><>Q<00>T<00>TM<>Q[@W%Q<00>T<00>T;<3B>Q[@[<07><>Q<00>T<00>TM<>Q<03>v@_~<7E>U US<><03>v@g<07>$U*UY<>"<22><>@o<07>F?UOU;<3B>Q<01>!"<22><>@z<07><>dUtUM<>Q<01>!<03><>@<40><07>mQ<00>U<00>US<><01>!<03><>@<40>g<>Q<00>U<00>UY<><01>!X<>@<40><07><>Q<00>U<00>U;<3B>Q<01>!X<>@<40><07>cQ<00>UVM<>Q<01>!5<>@<40><07>T'VAV;<3B>_<>Q<01>!<01>!5<>@<40><07>oZVtVM<>_<>Q<01>!<01>!5<>@<40>ma<00>V<00>V;<3B>_<>Q<01>!5<>@<40><07>:<00>V<00>VM<>_<>Q<01>!}@<40><13><00>VW;<3B>_<>Q<01>!<01>!}@<40>SQW6WM<>_<>Q<01>!<01>!}@<40><07><>OWdW;<3B>_<>Q<01>!}@<40>j[}W<00>WM<>_<>Q<01>!<03><>@<07> Q<00>W<00>W;<3B>Q<01>!<03><>@<07>{Q<00>W<00>WM<>Q<01>!܇@
!EQ<00>W X;<3B>Q<01>!܇@ <0C>Q&X6XM<>Q<01>!ƞ@<07>YQOX_X;<3B>Q<01>!ƞ@<07><>QxX<00>XM<>Q<01>!6<>@<07><>Q<00>X<00>X;<3B>Q<01>!6<>@#<07>?Q<00>X<00>XM<>Q<01>!U8@(`<60>Q<00>XY;<3B>Q<01>!U8@-C<>QY,YM<>Q<01>!<10>e<00> <0B>PN<>P ;Y<1D>"AP <0C>ZAP <0C>QAP RAP TRAP 0RAP <0C>QAP <0C>Q5<>P=OAU<07>!e<><01>Y<00>Ye<>=<17>AV<07><>C<01>Y<00>Ye<>-?OAW{Fe<><00>Y<00>Ye<>k<>?CAXU<>q<>ZZe<>k<>?CAYe<>q<>5Z@Zw<>k<>OA[S!e<>YZdZe<>dZ<1F>'AR<1F> <11>Aa_Tp<00> EYNEY)#@<40> <0C>bhR<68>@<40>a$<24><>@<40>&i<00>@<40>(<28>ZH<><48>@<40><07><><00><><01>Z<00>Z<02><>H<><48>@<40><07>|C[[<02><>-:<3A><>@<40><11><00><>'[2[<02><><01><>:C@<40>nF<00><>J[U[<02><><01><>:C@<40><16><><00><>m[x[<02><><01><><03><>@<11><><00><><00>[<00>[<02><><01>Z*<2A>@A<><00>Z<00>[<00>[<02><>*<2A>@&K<00>Z<00>[<00>[<02><>C@ <07><><00>Z<00>[<00>[<02><><01>ZC@5P<00>Z\"\<02><><01>Z<03><>@<07><><00>Z;\F\<02><>-<03><>@<07>G<00>Z_\j\<02><>-N<>@<07><><00>Z<00>\<00>\<02><>-N<>@#Wm<00>Z<00>\<00>\<02><>-<03><>@' <20><00>Z<00>\<00>\<02><><03><>@+NH<00>Z<00>\<00>\<02><>N<>@/<07><><00>Z ]]<02><>N<>@3<07>m<00>Z(].]<02><>P<>@7I<00>ZG]R]<02><><01>ZP<>@;҈<00>Zk]v]<02><><01>Z <0B>@?<07>2<00>Z<00>]<00>]<02><><01>Z <0B>@C<07><><00>Z<00>]<00>]<02><><01>Zn<>@Gc <00>Z<00>]<00>]<02><><01>Zn<>@K<07><><00>Z<00>]^<02><><01>Zќ@O<07><><00>Z^*^<02><><01>Zќ@S<07> <00>ZC^N^<02><><01>Z[@W2<><00>Zg^r^<02><><01>Z[@[S
<00>Z<00>^<00>^<02><><01>Z<03>v@_Y<><00>^<00>^<02><><03>v@gP'<00>^<00>^<02><>"<22><>@o<15><00>^<00>^<02><><01>Z<01>!"<22><>@z<03>__<02><><01>Z<01>!<03><>@<40><07><00>Z7_B_<02><><01>!<03><>@<40><07>5<00>Z[_f_<02><><01>!X<>@<40><07>%<00>Z_<00>_<02><><01>Z<01>!X<>@<40>C<><00>Z<00>_<00>_<02><><01>Z<01>!5<>@<40>.<2E><00>_<00>_<02><><01><><01>Z<01>!<01>!5<>@<40><0E>``<02><><01><><01>Z<01>!<01>!5<>@<40><<3C>7`L`<02><><01><><01>Z<01>!5<>@<40>Ne`z`<02><><01><><01>Z<01>!}@<40><07><><00>`<00>`<02><><01><><01>Z<01>!<01>!}@<40>d<00>`<00>`<02><><01><><01>Z<01>!<01>!}@<40>M<><00>`a<02><><01><><01>Z<01>!}@<40>*'a<a<02><><01><><01>Z<01>!<03><>@ <0B><00>ZUaea<02><><01>Z<01>!<03><>@<07><00>Z~a<00>a<02><><01>Z<01>!܇@
&<26><00>Z<00>a<00>a<02><><01>Z<01>!܇@Յ<00>Z<00>a<00>a<02><><01>Z<01>!ƞ@'<00>Z<00>a b<02><><01>Z<01>!ƞ@<07><><00>Z"b2b<02><><01>Z<01>!6<>@X0<00>ZKb[b<02><><01>Z<01>!6<>@#<12><00>Ztb<00>b<02><><01>Z<01>!U8@(֥<00>Z<00>b<00>b<02><><01>Z<01>!U8@-<07><00>Z<00>b<00>b<02><><01>Z<01>!<10>e& <0B>ZN<>Z <0B>bY<>Ag 4dAg <0C>[Ag <0C>[Ag <0C>[Ag <0C>[Ag U[Ag 2[5<>Z=OAl<07>}<00><>ScYc<02><>=<17>AmoDCsc~c<02><>-?OAnA<00><><00>c<00>c<02><><01><>?CAo<0F><>Ź<00>c<00>c<02><><01><>?CAp<14>Ź<00>c<00>c˹<01><>OAr<11>}<00><>dd<02><>d<1F>'Ai& <11>Ax_Tp& <0B>bN<>b<1A>d@<40> <0C>lhR<68>@<40>a$<24><>@<40><15>i<00>@<40>(ZdH<><48>@<40><07>b<00><><01>d<00>d<02><>H<><48>@<40>z)C<01>d<00>d<02><>-:<3A><>@<40>)<29><00><><00>d<00>d<02><><01><>:C@<40>J<><00><><00>d<00>d<02><><01><>:C@<40><16><><00><>e"e<02><><01><><03><>@<11>b<00><>;eFe<02><>Zdx<>@<07> Zd_eee<02><>x<>@<07>Zd~e<00>e<01>C@ <07>rZd<00>e<00>e<02><>ZdC@&<26>Zd<00>e<00>e<02><>Zd<03><>@<07>bZd<00>e<00>e<02><>-<03><>@<07><>Zd ff<02><>-N<>@<07><>Zd-f8f<02><>-N<>@#WZdQf\f<02><>-<03><>@'acZduf{f<02><><03><>@+<07><>Zd<00>f<00>f<02><>N<>@/<07><>Zd<00>f<00>f<02><>N<>@3<07>Zd<00>f<00>f<02><>P<>@7B<>Zd<00>f<00>f<02><>ZdP<>@;WZdg g<02><>Zd <0B>@?\<5C>Zd9gDg<02><>Zd <0B>@C<07>FZd]ghg<02><>Zdn<>@G jZd<00>g<00>g<02><>Zdn<>@K<07><Zd<00>g<00>g<02><>Zdќ@O6;Zd<00>g<00>g<02><>Zdќ@S<01>Zd<00>g<00>g<02><>Zd[@W<07>2Zdhh<02><>Zd[@[?<3F>Zd5h@h<02><>Zd<03>v@_<07><>Yh_h<02><><03>v@g<07>Pxh~h<01>"<22><>@oW<><00>h<00>h<02><>Zd<01>!"<22><>@z<00><00>h<00>h<02><>Zd<01>!<03><>@<40>NMZd<00>h<00>h<02><><01>!<03><>@<40>/Zdii<01><01>!X<>@<40>#<23>Zd)i9i<02><>Zd<01>!X<>@<40>) ZdRibi<02><>Zd<01>!5<>@<40><07><>{i<00>i<02><><07>Zd<01>!<01>!5<>@<40>0<00>i<00>i<02><><07>Zd<01>!<01>!5<>@<40><07><><00>i<00>i<02><><07>Zd<01>!5<>@<40>A<>j$j<02><><07>Zd<01>!}@<40><07><>=jWj<02><><07>Zd<01>!<01>!}@<40><07>%pj<00>j<02><><07>Zd<01>!<01>!}@<40>y<><00>j<00>j<02><><07>Zd<01>!}@<40>A<><00>j<00>j<02><><07>Zd<01>!<03><>@ɷZd<00>jk<02><>Zd<01>!<03><>@<07>-Zd(k8k<02><>Zd<01>!܇@
<07>#ZdQkak<02><>Zd<01>!܇@ãZdzk<00>k<02><>Zd<01>!ƞ@[GZd<00>k<00>k<02><>Zd<01>!ƞ@<07><>Zd<00>k<00>k<02><>Zd<01>!6<>@KpZd<00>kl<02><>Zd<01>!6<>@#<07>!Zdl.l<02><>Zd<01>!U8@(s<>ZdGlWl<02><>Zd<01>!U8@-<07>=Zdpl<00>l<02><>Zd<01>!<10>e<00> >dN>d <0B>l<1D>A~ <0C>mA~ FeA~ eeA~ <0C>eA~ <0C>eA~ <0C>dA~ <0C>d5>d=OA<><07># <0A><01>lm <0A>=<17>A<>0<>Cm(m <0A>-?OA<><07>" <0A>AmLm <0A><13>?CA<><0F><19>empm <0A><13>?CA<>]<5D><19><00>m<00>m<1F><13>OA<><11> <0A><00>m<00>m <0A><01>m<1F>'A<>&<26> <11>A<>_Tp<00> <0B>lN<>l<1D>@<40> 4vhR<68>@<40>a$<24><>@<40>-i<00>@<40>(nH<><48>@<40><07>47<>9n?n7<>H<><48>@<40>P<>CXncn7<>-:<3A><>@<40>?<3F>7<>{n<00>n7<>=<3D>:C@<40>'CC<><00>n<00>n7<>=<3D>:C@<40>l<>C<><00>n<00>nI<>=<3D><03><>@847<><00>n<00>n7<>n0<>@<07><>n ooO<>0<>@en(o.oU<>C@ <07>9nGoRo7<>nC@״nkovoI<>n<03><>@L$n<00>o<00>o7<>-<03><>@<07><>n<00>o<00>oI<>-N<>@<07>Jn<00>o<00>o7<>-N<>@#<07><>n<00>opI<>-<03><>@'<07><>np%p7<><03><>@+<02>n>pDpI<>N<>@/<07>Jn]pcp7<>N<>@3S<>n|p<00>pI<>P<>@7<07>in<00>p<00>p7<>nP<>@;<07><>n<00>p<00>pI<>n <0B>@?ڑn<00>p<00>p7<>n <0B>@Cl nqqI<>nn<>@G*<2A>n+q6q7<>nn<>@K<07><>nOqZqI<>nќ@O <0A>nsq~q7<>nќ@S{{n<00>q<00>qI<>n[@Wun<00>q<00>q7<>n[@[<1C>n<00>q<00>qI<>n<03>v@_O<>r rO<><03>v@gS@"r(rU<>"<22><>@o/>=rMr7<>n<01>!"<22><>@zt#brrrI<>n<01>!<03><>@<40>!<21>n<00>r<00>rO<><01>!<03><>@<40>y<>n<00>r<00>rU<><01>!X<>@<40><07>.n<00>r<00>r7<>n<01>!X<>@<40> <0A>n<00>r sI<>n<01>!5<>@<40>Х%s?s7<>[<5B>n<01>!<01>!5<>@<40><07><>XsrsI<>[<5B>n<01>!<01>!5<>@<40>''<00>s<00>s7<>[<5B>n<01>!5<>@<40>?<3F><00>s<00>sI<>[<5B>n<01>!}@<40>X<><00>st7<>[<5B>n<01>!<01>!}@<40><07>
t4tI<>[<5B>n<01>!<01>!}@<40>H<>Mtbt7<>[<5B>n<01>!}@<40><07>{t<00>tI<>[<5B>n<01>!<03><>@<07>,n<00>t<00>t7<>n<01>!<03><>@}n<00>t<00>tI<>n<01>!܇@
<07>dn<00>t u7<>n<01>!܇@<07>n$u4uI<>n<01>!ƞ@ānMu]u7<>n<01>!ƞ@n,nvu<00>uI<>n<01>!6<>@<07> n<00>u<00>u7<>n<01>!6<>@#(<28>n<00>u<00>uI<>n<01>!U8@(<07>9n<00>uv7<>n<01>!U8@-:<3A>nv*vI<>n<01>!<10>e- <0B>mN<>m 9v<1D><>A<> <0C>wA<> <0C>nA<> oA<> RoA<> .oA<> <0C>nA<> <0C>n5<>m=OA<><07><>a<><01>v<00>va<>=<17>A<><07><>C<01>v<00>va<>-?OA<>w'a<><00>v<00>va<>g<>?CA<><0F><>m<>wwa<>g<>?CA<><0F><>m<>3w>ws<>g<>OA<>|<7C>a<>Wwbwa<>bw<1F>'A<>- <11>A<>_Tp- CvNCv{@<40> <0C>hR<68>@<40>a$<24><>@<40>wi<00>@<40>(<28>wH<><48>@<40><07><><00><><01>w<00>w<02><>H<><48>@<40> <09>Cx x<02><>-:<3A><>@<40>պ<00><>%x0x<02><><01><>:C@<40><16>`<00><>HxSx<02><><01><>:C@<40>X<><00><>kxvx<02><><01><><03><>@.<2E><00><><00>x<00>x<02><><01>w%<25>@<07><00>w<00>x<00>x<02><>%<25>@Rg<00>w<00>x<00>x<02><>C@ <07><><00>w<00>x<00>x<02><><01>wC@x<><00>wy y<02><><01>w<03><>@F <00>w9yDy<02><>-<03><>@<07><00>w]yhy<02><>-N<>@<07><><00>w<00>y<00>y<02><>-N<>@#k<><00>w<00>y<00>y<02><>-<03><>@'<01><00>w<00>y<00>y<02><><03><>@+z<><00>w<00>y<00>y<02><>N<>@/2<><00>wz z<02><>N<>@3<07><><00>w&z,z<02><>P<>@7]<00>wEzPz<02><><01>wP<>@;I<><00>wiztz<02><><01>w <0B>@?<07><<00>w<00>z<00>z<02><><01>w <0B>@CK<><00>w<00>z<00>z<02><><01>wn<>@G4<00>w<00>z<00>z<02><><01>wn<>@K<07><><00>w<00>z{<02><><01>wќ@Oɛ<00>w{({<02><><01>wќ@S<1B><00>wA{L{<02><><01>w[@W<07><><00>we{p{<02><><01>w[@[<07>D<00>w<00>{<00>{<02><><01>w<03>v@_''<00>{<00>{<02><><03>v@g<07><><00>{<00>{<02><>"<22><>@oj<00>{<00>{<02><><01>w<01>!"<22><>@z<07>  ||<02><><01>w<01>!<03><>@<40>b<><00>w5|@|<02><><01>!<03><>@<40><07>(<00>wY|d|<02><><01>!X<>@<40><07><><00>w}|<00>|<02><><01>w<01>!X<>@<40><07>(<00>w<00>|<00>|<02><><01>w<01>!5<>@<40><07><><00>|<00>|<02><><01><><01>w<01>!<01>!5<>@<40>/}}<02><><01><><01>w<01>!<01>!5<>@<40><06>5}J}<02><><01><><01>w<01>!5<>@<40><07><>c}x}<02><><01><><01>w<01>!}@<40><07>R<00>}<00>}<02><><01><><01>w<01>!<01>!}@<40><07><><00>}<00>}<02><><01><><01>w<01>!<01>!}@<40><07><><00>} ~<02><><01><><01>w<01>!}@<40>Y<>%~:~<02><><01><><01>w<01>!<03><>@JJ<00>wS~c~<02><><01>w<01>!<03><>@<07><><00>w|~<00>~<02><><01>w<01>!܇@
;<3B><00>w<00>~<00>~<02><><01>w<01>!܇@<07>)<00>w<00>~<00>~<02><><01>w<01>!ƞ@<07><><00>w<00>~<02><><01>w<01>!ƞ@LK<00>w 0<02><><01>w<01>!6<>@<07><><00>wIY<02><><01>w<01>!6<>@#-)<00>wr<00><02><><01>w<01>!U8@(H<><00>w<00><00><02><><01>w<01>!U8@-<07><><00>w<00><00><02><><01>w<01>!<10>ew <0B>wN<>w <0B><1D>~A<> 2<>A<> <0C>xA<> <0C>xA<> <0C>xA<> <0C>xA<> SxA<> 0x5<>w=OA<>q8<00><>Q<>W<><02><>=<17>A<>=NCq<>|<7C><02><>-?OA<>O:<00><><00><><00><><02><><01><>?CA<><0F><><00><><00><>Ā<02><><01><>?CA<>p<00><>݀<00><>Ǻ<01><>OA<><11><><00><><01> <0C><02><> <0C><1F>'A<>w <11>A<>_Tpw <0B>N<><1A>a@<40> <0C><>hR<68>@<40>a$<24><>@<40>i<00>@<40>(X<>H<><48>@<40>Unߺ<01><><00><>ߺH<><48>@<40>$C<01><><00><>ߺ-:<3A><>@<40>u<>ߺρځߺ<01><>:C@<40>D)<00><><00><><00><>ߺ<01><>:C@<40><16><><00><><15> <20><02><><01><><03><>@,nߺ9<>D<>ߺX<><03>@72X<>]<5D>c<><02><><03>@<07><>X<>|<7C><00><><02><>C@ F<>X<><00><><00><>ߺX<>C@<07><>X<><00><>ʂ<02><>X<><03><>@biX<><00><><00><>ߺ-<03><>@<10>X<><07><12><02><>-N<>@<07><>X<>+<2B>6<>ߺ-N<>@#X<>O<>Z<><02><>-<03><>@'~iX<>s<>y<>ߺ<03><>@+-<2D>X<><00><><00><><02><>N<>@/<07><>X<><00><><00><>ߺN<>@33X<>Ѓփ<02><>P<>@7<07><>X<><00><><00><>ߺX<>P<>@;7X<><13><1E><02><>X<> <0B>@?W<>X<>7<>B<>ߺX<> <0B>@C<07>[X<>[<5B>f<><02><>X<>n<>@G0<>X<><><00><>ߺX<>n<>@K|;X<><00><><00><><02><>X<>ќ@O<07>8X<>DŽ҄ߺX<>ќ@S<07><>X<><00><><00><><02><>X<>[@W<07>?X<><0F><1A>ߺX<>[@[s<>X<>3<>><3E><02><>X<><03>v@_<07><>W<>]<5D><02><><03>v@g 2v<>|<7C><02><>"<22><>@o<1D><00><><00><>ߺX<><01>!"<22><>@zZ<><00><>ƅ<02><>X<><01>!<03><>@<40><07>]X<>߅<00><><02><><01>!<03><>@<40><07>{X<><03><0E><02><><01>!X<>@<40>qnX<>'<27>7<>ߺX<><01>!X<>@<40><07><>X<>P<>`<60><02><>X<><01>!5<>@<40><07><>y<><00><>ߺ<03>X<><01>!<01>!5<>@<40><07><><00><>Ɔ<02><><03>X<><01>!<01>!5<>@<40>=I߆<00><>ߺ<03>X<><01>!5<>@<40><07> <0A>"<22><02><><03>X<><01>!}@<40><06>;<3B>U<>ߺ<03>X<><01>!<01>!}@<40>Jn<><00><><02><><03>X<><01>!<01>!}@<40><07>:<00><><00><>ߺ<03>X<><01>!}@<40><07>mχ<00><><02><><03>X<><01>!<03><>@X<>X<><00><> <0A>ߺX<><01>!<03><>@<01>X<>&<26>6<><02><>X<><01>!܇@
m<>X<>O<>_<>ߺX<><01>!܇@<07>iX<>x<><00><><02><>X<><01>!ƞ@1<>X<><00><><00><>ߺX<><01>!ƞ@3<>X<>ʈڈ<02><>X<><01>!6<>@5;X<><00><><03>ߺX<><01>!6<>@#<07><>X<><1C>,<2C><02><>X<><01>!U8@(<07>uX<>E<>U<>ߺX<><01>!U8@-*X<>n<>~<7E><02><>X<><01>!<10>e <<3C>N<<3C> <0B><><1D>fA<> ܊A<> D<>A<> c<>A<> <0C><>A<> <0C><>A<> <0C><>A<> ځ5<<3C>=OA<>}( <09><01><><01> <09>=<17>A<>(<28>C<1B>&<26> <09>-?OA<><07><> <09>?<3F>J<> <09><0F>?CA<><0F><><15>c<>n<> <09><0F>?CA<>w9<15><00><><00><><1B><0F>OA<>,( <09><00><><00><> <09><01><><1F>'A<> <11>A<>_Tp <0B><>N<><4E><1A><@<40> 2<>hR<68>@<40>a$<24><>@<40><15>i<00>@<40>(<02>H<><48>@<40><07>;3<>7<>=<3D>3<>H<><48>@<40>6CV<>a<>3<>-:<3A><>@<40>K<>3<>y<><00><>3<>9<>:C@<40>W ?<3F><00><><00><>3<>9<>:C@<40><16>I?<3F><00><>ʋE<>9<><03><>@<11>;3<><00><><00><>3<><02>#<23>@-o<02><07> <0A>K<>#<23>@<07><><02>&<26>,<2C>Q<>C@ 4H<02>E<>P<>3<><02>C@<07><><02>i<>t<>E<><02><03><>@<07>><02><00><><00><>3<>-<03><>@<03><02><00><><00><>E<>-N<>@<07>`<02>Ռ<00><>3<>-N<>@#J<><02><00><><04>E<>-<03><>@'*?<02><1D>#<23>3<><03><>@+<07><><02><<3C>B<>E<>N<>@/<07>a<02>[<5B>a<>3<>N<>@3<07><><02>z<><00><>E<>P<>@7@<40><02><00><><00><>3<><02>P<>@;D<><02><00><>ȍE<><02> <0B>@?y<><02><00><><00><>3<><02> <0B>@C<07><02><05><10>E<><02>n<>@G:<3A><02>)<29>4<>3<><02>n<>@K?<02>M<>X<>E<><02>ќ@O(<02>q<>|<7C>3<><02>ќ@S<05><02><00><><00><>E<><02>[@W<07><02><00><>Ď3<><02>[@[0<><02>ݎ<00><>E<><02><03>v@_<07><><01><07>K<><03>v@g<07>m <20>&<26>Q<>"<22><>@o)<29>;<3B>K<>3<><02><01>!"<22><>@z<07><>`<60>p<>E<><02><01>!<03><>@<40> <0C><02><00><><00><>K<><01>!<03><>@<40>
<EFBFBD><02><00><><00><>Q<><01>!X<>@<40><07><><02>я<00><>3<><02><01>!X<>@<40><07>`<02><00><>
<EFBFBD>E<><02><01>!5<>@<40><07><>#<23>=<3D>3<>W<><02><01>!<01>!5<>@<40><V<>p<>E<>W<><02><01>!<01>!5<>@<40> ;<00><><00><>3<>W<><02><01>!5<>@<40><07><><00><>̐E<>W<><02><01>!}@<40>U<><00><><00><>3<>W<><02><01>!<01>!}@<40>d<18>2<>E<>W<><02><01>!<01>!}@<40><07>K<>`<60>3<>W<><02><01>!}@<40><07>By<><00><>E<>W<><02><01>!<03><>@I<><02><00><><00><>3<><02><01>!<03><>@<07>E<02>Б<00><>E<><02><01>!܇@
<07> <02><00><> <09>3<><02><01>!܇@<07><><02>"<22>2<>E<><02><01>!ƞ@<07>;<02>K<>[<5B>3<><02><01>!ƞ@f<><02>t<><00><>E<><02><01>!6<>@m<><02><00><><00><>3<><02><01>!6<>@#<07>:<02>ƒ֒E<><02><01>!U8@(W<><02><00><><00><>3<><02><01>!U8@-)<29><02><18>(<28>E<><02><01>!<10>e<00> <0B><>N<><4E> 7<>t<>A<> <0C><>A<> <0C><>A<> <0A>A<> P<>A<> ,<2C>A<> <0C><>A<> <0C><>5<><35>=OA<><07><>]<5D><01><><00><>]<5D>=<17>A<>v<>CœГ]<5D>-?OA<><1F>]<5D><00><><00><>]<5D>c<>?CA<>6qi<> <0A><18>]<5D>c<>?CA<><i<>1<><<3C>o<>c<>OA<><11><>]<5D>U<>`<60>]<5D>`<60><1F>'A<><1F> <11>A<>_Tp<00> A<>NA<4E>δ@<40> ܜhR<68>@<40>a$<24><>@<40><15>i<00>@<40>(<28><>H<><48>@<40>ut<00><><01><><00><><02><>H<><48>@<40><07>1C<00> <0B><02><>-:<3A><>@<40><07><><00><>#<23>.<2E><02><><01><>:C@<40>2<00><>F<>Q<><02><><01><>:C@<40><16>|<00><>i<>t<><02><><01><><03><>@<11>t<00><><00><><00><><02><><01><><03><>@<07><><00><><00><><00><><02><><03><>@<07>g<00><>Е֕<02><>C@ vI<00><><00><><00><><02><><01><>C@<00><><13><1E><02><><01><><03><>@|<00><>7<>B<><02><>-<03><>@<07><><00><>[<5B>f<><02><>-N<>@<07><><00><><><00><><02><>-N<>@#<07><00><><00><><00><><02><>-<03><>@'-|<00><>ǖ͖<02><><03><>@+<00><00><><00><><00><><02><>N<>@/<07><><00><><05> <0B><02><>N<>@3<00><>$<24>*<2A><02><>P<>@7ټ<00><>C<>N<><02><><01><>P<>@;:<00><>g<>r<><02><><01><> <0B>@?a<><00><><00><><00><><02><><01><> <0B>@C\<00><><00><><00><><02><><01><>n<>@G9<><00><>ӗޗ<02><><01><>n<>@K<07><><00><><00><><02><02><><01><>ќ@OG<00><><1B>&<26><02><><01><>ќ@Sڪ<00><>?<3F>J<><02><><01><>[@WMC<00><>c<>n<><02><><01><>[@[<07><><00><><00><><00><><02><><01><><03>v@_<07><00><><00><><02><><03>v@g<07>tʘИ<02><>"<22><>@o<07>k<00><><00><><02><><01><><01>!"<22><>@z<07>!
<EFBFBD><1A><02><><01><><01>!<03><>@<40>-d<00><>3<>><3E><02><><01>!<03><>@<40>s<><00><>W<>b<><02><><01>!X<>@<40><07> <00><>{<7B><00><><02><><01><><01>!X<>@<40>G<><00><><00><><00><><02><><01><><01>!5<>@<40><07>S͙<00><><02><><01><><01><><01>!<01>!5<>@<40>)<<00><1A><02><><01><><01><><01>!<01>!5<>@<40>'<27>3<>H<><02><><01><><01><><01>!5<>@<40>^<5E>a<>v<><02><><01><><01><><01>!}@<40><07><><00><><00><><02><><01><><01><><01>!<01>!}@<40><07>šܚ<02><><01><><01><><01>!<01>!}@<40>7<><00><>
<EFBFBD><02><><01><><01><><01>!}@<40>.<2E>#<23>8<><02><><01><><01><><01>!<03><>@<07>a<00><>Q<>a<><02><><01><><01>!<03><>@b<><00><>z<><00><><02><><01><><01>!܇@

<EFBFBD><00><><00><><00><><02><><01><><01>!܇@$<00><>̛ܛ<02><><01><><01>!ƞ@-<2D><00><><00><><05><02><><01><><01>!ƞ@<07>B<00><><1E>.<2E><02><><01><><01>!6<>@,<00><>G<>W<><02><><01><><01>!6<>@#}<7D><00><>p<><00><><02><><01><><01>!U8@(<07>D<00><><00><><00><><02><><01><><01>!U8@-<07><><00><>œҜ<02><><01><><01>!<10>e<00> <0B><>N<><4E> <0B><><1D>ZA<> 0<>A<> <0C><>A<> <0C><>A<> <0C><>A<> ֕A<> Q<>A<> .<2E>5<><35>=OA<><07>:<00><>O<>U<><02><>=<17>A<>s<>Co<>z<><02><>-?OA<><07><><00><><00><><00><><02><><01><>?CA<>2g<00><><00><><02><><01><>?CA<>,<00><>۝<00><>û<01><>OA<><11>:<00><><00><>
<EFBFBD><02><>
<EFBFBD><1F>'A<><1B> <11>A_Tp<00> <0B><>N<><4E>T<>@<40> <0C><>hR<68>@<40>a$<24><>@<40><i<00>@<40>(V<>H<><48>@<40>DMۻ<01><><00><>ۻH<><48>@<40><07>C<01><><00><>ۻ-:<3A><>@<40>rۻ͞؞ۻ<01><>:C@<40><16><><00><><00><><00><>ۻ<01><>:C@<40><16>l<00><><13><1E><02><><01><><03><>@`Mۻ7<>B<>ۻV<>@ V<>[<5B>a<><02><>@<07><>V<>z<><00><><02><>C@ mVV<><00><><00><>ۻV<>C@s<>V<><00><>ȟ<02><>V<><03><>@6BV<><00><><00><>ۻ-<03><>@I<>V<><05><10><02><>-N<>@<07>,V<>)<29>4<>ۻ-N<>@#b<>V<>M<>X<><02><>-<03><>@'<07>BV<>q<>w<>ۻ<03><>@+<07><>V<><00><><00><><02><>N<>@/ hV<><00><><00><>ۻN<>@3<07><>V<>ΠԠ<02><>P<>@7<07><>V<><00><><00><>ۻV<>P<>@;YV<><11><1C><02><>V<> <0B>@?e<>V<>5<>@<40>ۻV<> <0B>@C<07>+V<>Y<>d<><02><>V<>n<>@G<07><>V<>}<7D><00><>ۻV<>n<>@K<07>V<><00><><00><><02><>V<>ќ@O<07>V<>šСۻV<>ќ@S|<7C>V<><00><><00><><02><>V<>[@W<07><>V<> <0A><18>ۻV<>[@[/<2F>V<>1<><<3C><02><>V<><03>v@_8UU<>[<5B><02><><03>v@g<07><>t<>z<><02><>"<22><>@o<07><><00><><00><>ۻV<><01>!"<22><>@z7U<00><>Ģ<02><>V<><01>!<03><>@<40>\|V<>ݢ<00><><02><><01>!<03><>@<40><07><>V<><01> <0C><02><><01>!X<>@<40>xHV<>%<25>5<>ۻV<><01>!X<>@<40><07>V<>N<>^<5E><02><>V<><01>!5<>@<40>uw<><00><>ۻ<01><>V<><01>!<01>!5<>@<40><07><><00><>ģ<02><><01><>V<><01>!<01>!5<>@<40>9<>ݣ<00><>ۻ<01><>V<><01>!5<>@<40><19> <0B> <20><02><><01><>V<><01>!}@<40>z<>9<>S<>ۻ<01><>V<><01>!<01>!}@<40>]<5D>l<><00><><02><><01><>V<><01>!<01>!}@<40><1F><00><><00><>ۻ<01><>V<><01>!}@<40><07><>ͤ<00><><02><><01><>V<><01>!<03><>@<07><>V<><00><> <0B>ۻV<><01>!<03><>@} V<>$<24>4<><02><>V<><01>!܇@
<07><>V<>M<>]<5D>ۻV<><01>!܇@dpV<>v<><00><><02><>V<><01>!ƞ@<07><>V<><00><><00><>ۻV<><01>!ƞ@<07><>V<>ȥإ<02><>V<><01>!6<>@<07>jV<><00><><01>ۻV<><01>!6<>@#fV<><1A>*<2A><02><>V<><01>!U8@(<07><>V<>C<>S<>ۻV<><01>!U8@-<07>V<>l<>|<7C><02><>V<><01>!<10>e< :<3A>N:<3A> <0B><><1D><>A ڧA B<>A a<>A <0C><>A <0C><>A <0C><>A ؞5:<3A>=OA <07><><05><01><><00><><05>=<17>AV<>C<19>$<24><05>-?OA<07><><05>=<3D>H<><05> <0B>?CA<0F>L<11>a<>l<><05> <0B>?CA+<2B><11><00><><00><><17> <0B>OA<11><05><00><><00><><05><01><><1F>'A
)< <11>A_Tp< <0B><>N<><4E><1A>N@<40> 0<>hR<68>@<40>a$<24><>@<40>=i<00>@<40>(<00>H<><48>@<40>ܫ/<2F>5<>;<3B>/<2F>H<><48>@<40><07>bCT<>_<>/<2F>-:<3A><>@<40><07>|/<2F>w<><00><>/<2F>5<>:C@<40><16>.;<3B><00><><00><>/<2F>5<>:C@<40>*<2A>;<3B><00><>ȨA<>5<><03><>@<11><>/<2F><00><><00><>/<2F><00>;<3B>@:<3A><00><05> <0B>G<>;<3B>@<07>1<00>$<24>*<2A>M<>C@ d<><00>C<>N<>/<2F><00>C@D<><00>g<>r<>A<><00><03><>@><3E><00><00><><00><>/<2F>-<03><>@S"<00><00><><00><>A<>-N<>@<07><><00>өީ/<2F>-N<>@#t<00><00><><02>A<>-<03><>@'<1F><00><1B>!<21>/<2F><03><>@+<07>"<00>:<3A>@<40>A<>N<>@/G<><00>Y<>_<>/<2F>N<>@3<07>t<00>x<>~<7E>A<>P<>@7<07><><00><00><><00><>/<2F><00>P<>@;<07><><00><00><>ƪA<><00> <0B>@?:<00>ߪ<00><>/<2F><00> <0B>@C}<7D><00><03><0E>A<><00>n<>@GI<><00>'<27>2<>/<2F><00>n<>@K<07><><00>K<>V<>A<><00>ќ@O<07>w<00>o<>z<>/<2F><00>ќ@S<07><><00><00><><00><>A<><00>[@W<07>}<00><00><>«/<2F><00>[@[<07>$<00>۫<00><>A<><00><03>v@_<><00><><05>G<><03>v@g<07>D<1E>$<24>M<>"<22><>@o<07>?9<>I<>/<2F><00><01>!"<22><>@z<07><>^<5E>n<>A<><00><01>!<03><>@<40>K)<00><00><><00><>G<><01>!<03><>@<40><07>C<00><00><><00><>M<><01>!X<>@<40><07><><00>Ϭ߬/<2F><00><01>!X<>@<40><07>X<00><00><><08>A<><00><01>!5<>@<40><17>!<21>;<3B>/<2F>S<><00><01>!<01>!5<>@<40><07>T<>n<>A<>S<><00><01>!<01>!5<>@<40>A <00><><00><>/<2F>S<><00><01>!5<>@<40><07><><00><>ʭA<>S<><00><01>!}@<40><07><00><><00><>/<2F>S<><00><01>!<01>!}@<40>vY<16>0<>A<>S<><00><01>!<01>!}@<40><07><>I<>^<5E>/<2F>S<><00><01>!}@<40><07><>w<><00><>A<>S<><00><01>!<03><>@<07>B<00><00><><00><>/<2F><00><01>!<03><>@]<5D><00>ήޮA<><00><01>!܇@
ȅ<00><00><><07>/<2F><00><01>!܇@<07><00> <20>0<>A<><00><01>!ƞ@|<7C><00>I<>Y<>/<2F><00><01>!ƞ@<00>r<><00><>A<><00><01>!6<>@v<><00><00><><00><>/<2F><00><01>!6<>@#<07>_<00>įԯA<><00><01>!U8@(<07>!<00><00><><00><>/<2F><00><01>!U8@- <0C><00><16>&<26>A<><00><01>!<10>e= <0B><>N<><4E> 5<>w<>A <0C><>A <0C><>A <0B>A N<>A *<2A>A <0C><>A <0C><>5<><35>=OA$<07>_Y<><01><><00><>Y<>=<17>A%CðΰY<>-?OA&u<>Y<><00><><00><>Y<>_<>?CA'<0F><>e<> <0B><16>Y<>_<>?CA(<0F>.e<>/<2F>:<3A>k<>_<>OA*<11>_Y<>S<>^<5E>Y<>^<5E><1F>'A!= <11>A0_Tp= ?<3F>N?<3F><1A><>@<40> ڹhR<68>@<40>a$<24><>@<40>Ii<00>@<40>(<28><>H<><48>@<40>3<><00><>߱<00><><02><>H<><48>@<40><07><>C<01><> <09><02><>-:<3A><>@<40><07><><00><>!<21>,<2C><02><><01><>:C@<40>]<00><>D<>O<><02><><01><>:C@<40>k<><00><>g<>r<><02><><01><><03><>@a<><00><><00><><00><><02><><01><>Gy@<07><><00><><00><><00><><02><>Gy@<07><<00><>βԲ<02><>C@ <07>5<00><><00><><00><><02><><01><>C@J<><00><><11><1C><02><><01><><03><>@<07><><00><>5<>@<40><02><>-<03><>@<07><><00><>Y<>d<><02><>-N<>@c<00><>}<7D><00><><02><>-N<>@#o<><00><><00><><00><><02><>-<03><>@'<07><><00><>ų˳<02><><03><>@+(<28><00><><00><><00><><02><>N<>@/<07><00><><03> <09><02><>N<>@3<07><><00><>"<22>(<28><02><>P<>@7<07>H<00><>A<>L<><02><><01><>P<>@;<07><><00><>e<>p<><02><><01><> <0B>@?<07><00><><00><><00><><02><><01><> <0B>@C$<24><00><><00><><00><><02><><01><>n<>@GV<><00><>Ѵܴ<02><><01><>n<>@K<07>.<00><><00><><00><02><><01><>ќ@O q<00><><19>$<24><02><><01><>ќ@Sp<00><>=<3D>H<><02><><01><>[@W<07>e<00><>a<>l<><02><><01><>[@[v<00><><00><><00><><02><><01><><03>v@_q<00><><00><><02><><03>v@g<07><>ȵε<02><>"<22><>@o<07><><00><><00><><02><><01><><01>!"<22><>@z<07>2<08><18><02><><01><><01>!<03><>@<40><1D><00><>1<><<3C><02><><01>!<03><>@<40><07><><00><>U<>`<60><02><><01>!X<>@<40> <0C><00><>y<><00><><02><><01><><01>!X<>@<40><07><><00><><00><><00><><02><><01><><01>!5<>@<40>2(˶<00><><02><><01><><01><><01>!<01>!5<>@<40><07><><00><><18><02><><01><><01><><01>!<01>!5<>@<40>\1<>F<><02><><01><><01><><01>!5<>@<40><07>x_<>t<><02><><01><><01><><01>!}@<40><07><><00><><00><><02><><01><><01><><01>!<01>!}@<40>Ŏ<00><>ڷ<02><><01><><01><><01>!<01>!}@<40>x<><00><><08><02><><01><><01><><01>!}@<40>>!<21>6<><02><><01><><01><><01>!<03><>@<07>3<00><>O<>_<><02><><01><><01>!<03><>@<07>~<00><>x<><00><><02><><01><><01>!܇@
^<5E><00><><00><><00><><02><><01><><01>!܇@<07>S<00><>ʸڸ<02><><01><><01>!ƞ@<07><><00><><00><><03><02><><01><><01>!ƞ@rq<00><><1C>,<2C><02><><01><><01>!6<>@9?<00><>E<>U<><02><><01><><01>!6<>@#<07>8<00><>n<>~<7E><02><><01><><01>!U8@(t<><00><><00><><00><><02><><01><><01>!U8@-<07>k<00><><00><>й<02><><01><><01>!<10>eI <0B><>N<><4E> ߹֠A6 .<2E>A6 <0C><>A6 <0C><>A6 <0C><>A6 ԲA6 O<>A6 ,<2C>5<><35>=OA;<07>y<00><>M<>S<><02><>=<17>A<&0Cm<>x<><02><>-?OA=<1B><00><><00><><00><><02><><01><>?CA>7<><00><><00><><00><><02><><01><>?CA?<0F><><00><>ٺ<00><><02><><01><>OAA<11>R<00><><00><><08><02><><08><1F>'A8I <11>AG_TpI <0B><>N<><4E>y1@<40> <0C><>hR<68>@<40>a$<24><>@<40>Ui<00>@<40>(T<>H<><48>@<40>Z׼<01><><00><>׼H<><48>@<40><07><>C<01><><00><>׼-:<3A><>@<40>+ ׼˻ֻ׼ݼ:C@<40>e<><00><><00><><00><>׼ݼ:C@<40><10><00><><11><1C><02><>ݼ<03><>@<11>Y׼5<>@<40>׼T<><03><>@<07>;T<>Y<>_<><02><><03><>@<07>wT<>x<>~<7E><02><>C@ <07><>T<><00><><00><>׼T<>C@<07>T<><00><>Ƽ<02><>T<><03><>@<07><>T<>߼<00><>׼-<03><>@<07>,T<><03><0E><02><>-N<>@ <0B>T<>'<27>2<>׼-N<>@#sPT<>K<>V<><02><>-<03><>@'x<>T<>o<>u<>׼<03><>@+Q-T<><00><><00><><02><>N<>@/<07><>T<><00><><00><>׼N<>@3<07>PT<>̽ҽ<02><>P<>@7<07><>T<><00><><00><>׼T<>P<>@;[T<><0F><1A><02><>T<> <0B>@?<05>T<>3<>><3E>׼T<> <0B>@C<07>T<>W<>b<><02><>T<>n<>@G<0F>T<>{<7B><00><>׼T<>n<>@K<07>bT<><00><><00><><02><>T<>ќ@O<07><>T<>þξ׼T<>ќ@S >T<><00><><00><><02><>T<>[@W<07><>T<> <0B><16>׼T<>[@[%<25>T<>/<2F>:<3A><02><>T<><03>v@_<07>%S<>Y<><02><><03>v@g<07>r<>x<><02><>"<22><>@oR<00><><00><>׼T<><01>!"<22><>@zl<><00><>¿<02><>T<><01>!<03><>@<40>F<>T<>ۿ<00><><02><><01>!<03><>@<40><07>GT<><00><>
<EFBFBD><02><><01>!X<>@<40>"&T<>#<23>3<>׼T<><01>!X<>@<40>T<>L<>\<5C><02><>T<><01>!5<>@<40><14>u<><00><>׼<01><>T<><01>!<01>!5<>@<40><07>c<00><><00><><02><><01><>T<><01>!<01>!5<>@<40><07>y<00><><00><>׼<01><>T<><01>!5<>@<40><07><> <09><1E><02><><01><>T<><01>!}@<40><07>7<>Q<>׼<01><>T<><01>!<01>!}@<40><07><>j<><00><><02><><01><>T<><01>!<01>!}@<40><07><><00><><00><>׼<01><>T<><01>!}@<40>h.<00><><00><><02><><01><>T<><01>!<03><>@<04>T<><00><> <09>׼T<><01>!<03><>@<07><>T<>"<22>2<><02><>T<><01>!܇@
<07>WT<>K<>[<5B>׼T<><01>!܇@`<60>T<>t<><00><><02><>T<><01>!ƞ@<07>}T<><00><><00><>׼T<><01>!ƞ@" T<><00><><00><><02><>T<><01>!6<>@<07>"T<><00><><00><>׼T<><01>!6<>@#<07><>T<><18>(<28><02><>T<><01>!U8@(<07>tT<>A<>Q<>׼T<><01>!U8@- T<>j<>z<><02><>T<><01>!<10>eU 8<>N8<4E> <0B><><1D>BAM <0C><>AM @<40>AM _<>AM <0C><>AM ~<7E>AM <0C><>AM ֻ58<35>=OARz<><01><01><><00><><01>=<17>ASm<>C<17>"<22><01>-?OAT <20><01>;<3B>F<><01><07>?CAU<0F><> <0A>_<>j<><01><07>?CAV̬ <0A><00><><00><><13><07>OAXtX<01><00><><00><><01><01><><1F>'AOU <11>A^_TpU <0B><>N<><4E><00>5-CB<0E><0F>w<06>bU<> A<>D<>!r<00>cin<<12><><0E> ܅D<>!<21><00><01>=<12>+<2B><00><15>><10>+<2B><00><01><>?<12><>+<2B> @<40>D<>#5<00>v<>Bq<>j<> ؘD<>#U<00>}zCxz<00><><00><01><>D<13><><00><><00>9<>E4<><00><><00> J<19>7<>0 9<>(<28>27<07>o9<><00><><01>8<01>O <0C>'2<1C>8(=;Y4(<28>%<25><01>8_Tp<00>C_Nmw<1E>H^ "<22> 6n8<6E><38>W*Ht<07><>g<>r<><02>8<01>8 <0C>y`!<21> r<>W<>\x<07><><00><><00><><02>8<01>8 <0C><>e,<2C>8Q<>~A<00><><00><><00><><02>8 <0C><>f)<29>8Q<><07><07>~<00><><00><><00><><02>8yend<07>u%<00><><0E><14><02>8yend<07><07>Y<00><>,<2C>2<><02>8 {<7B>i5'<27><12><><07><07><2<>V<>\<5C><02>8 u<>j7,<2C><12><><07>D<>\<5C><00><><00><><02>8W[<07><07><>2<><00><><00><><02>8W[<07><07><>\<5C><00><><00><><02>8P<><07><07><><00><><00><><00><><02>8<12>7<07><07>x<00><><00><><00><><02>8<12><><07><07>\<5C><16><1C><02>8V[<07><1F>\<5C>4<>:<3A><02>8 [hg5<67>Od<07>t:<3A>^<5E>d<><02>8<12><07><07> :<3A>|<7C><00><><02>8m]<07>t<00><><00><><02>8 <16>c4<63>8
W<07><08><00><><00><><00><><02>8:<3A> <0B>d4<64>8
W<07><07><><00><><00><><00><><02>8:<3A>yat<07>/]<00><><15> <20><02>8:<3A>yat<07> <00><>7<>B<><02>8:<3A>W<><07>Q<00><>Z<>`<60><02>8W<><07>'i<00><>x<>~<7E><02>8@B<07>]<00><><00><><00><><02>8@B<07>*J<00><><00><><00><><02>8 <0C><>a#<23>8Ed<07><07><><00><><00><><00><><02>8 <0C>9b7<62>8Ed<07>g<><00><><08><0E><02>8_Tp<00>C_Nmw 9<>1<1F>1<>M<1A><>0 <0C><>(<28>27<<3C><00><>]<5D><01>8<01>O <0C>'2<1C>8(=;<07>m<><00><><01>8_Tp<00><>C_Nmw<1A>k$^ <0C><> 6n8]<5D>W*Htn8<00><><00><><02>8<01>8 <0C>y`!<21><> <0B><>W<>\xf<00><><00><02>89 <0C><>e,
9Q<>~<07>K<00>$<24>*<2A><02>8 <0C><>f)9Q<><07><07><>*<2A>N<>T<>9yend<07>2n<00>l<>r<><02>8yend<07><1C>*<2A><00><><00><>9 {<7B>i5<69><35><12><><07>C<><00><><00><><00><><02>8 u<>j7<6A><37><12><><07><07>=<00><><00><><00><>9W[<07><07><><00><><00><><02><02>8W[<07><07><><00><><1A> <20>9P<><07>4<>*<2A>8<>><3E>9<12>7<07>"}*<2A>V<>\<5C>9<12><><07><07><><00><>t<>z<>9V[<07>{<7B><00><><00><><00><>9 [hg5<67>Od<07><07><00><><00><><00><>9<12><07>A<00><><00><><00><>9m]<07><02><00><><00><>9 <16>c49
W<07><00><>"<22>-<2D><02>8<01><> <0B>d4<64>8
W<07><07>G-<2D>Q<>\<5C>9<01><>yat<07><07>O<00><>s<>~<7E><02>8<01><>yat<07><07>'-<2D><00><><00><>9<01><>W<><07><07><00><><00><><00><><02>8W<><07><07>{-<2D><00><><00><>9@B<07><><00><><00><><00><><02>8@B<07><07>V-<2D><12><18>9 <0C><>a#
9Ed<07>H<><18><<3C>B<><02>8 <0C>9b79Ed<07>E<>B<>f<>l<>9<00> s<00>CC<00><><00><><02>8-<00><01>U]<5D><00>8<00><><00><><02>8_Tp<00><>C_Nmw <0B><>1V]1p<1A><>0 2<>(<28>27<07><>v<><00><>X9<01>O <0C>'2^9(=;<07>_!<21><1E>X9_Tp&C_Nmw<1A><>0^ <1B> 6n8<6E><38>W*Ht%<25>`<60>k<>n9t9 <0C>y`!& k<>W<>\x'D<00><><00><>n9z9 <0C><>e,<2C>9Q<>~wE<00><><00><><00><>n9 <0C><>f)<29>9Q<><07>KY<00><><00><><00><><02>9yend<07><07>3<00><><07> <0A>n9yend<07>o<><00><>%<25>+<2B><02>9 {<7B>i5 <20><12><><07>Ib+<2B>O<>U<>n9 u<>j7%<25><12><><07><00>U<>y<><><02>9W[<07>d<>+<2B><00><><00><>n9W[<07><07><>U<><00><><00><><02>9P<><07><07> <00><><00><><00><><02>9<12>7<07><07>^<00><><00><><00><><02>9<12><><07>#U<><0F><15><02>9V[<07><07><>U<>-<2D>3<><02>9 [hg5<67>Od<07>}<7D>3<>W<>]<5D><02>9<12><07><1B>3<>u<>{<7B><02>9m]<07> <00><><00><><02>9 <16>c4<63>9
W<07><07><><00><><00><><00><>n93<> <0B>d4t9
W<07><07><><00><><00><><00><><02>93<>yat<07><07>R<00><><0E><19>n93<>yat<07><07><><00><>0<>;<3B><02>93<>W<><07><07><00><>S<>Y<>n9W<><07><17><00><>q<>w<><02>9@B<07>B<00><><00><><00><>n9@B<07><07>S<00><><00><><00><><02>9 <0C><>a#<23>9Ed<07><07><><00><><00><><00><>n9 <0C>9b7<62>9Ed<07>{<7B><00><><01><07><02>9_Tp&C_Nmw 2<>1y)1|<7C><1D><>x B<>_Tp<05>x<><18> o<>5*<2A><00>&8<18>_Tp<05>S<>> \ f<>M<1E> a,P:<01><><00><>P:[:'Y _ <20>M<1E> d_eP:<01><><00><>P:'[:<1D> h<07>C<01><><00><>P:-<00><1E> kʂP:<1A>%<25>P:a:<00>C l-#g:@<40>K<>P:a:E<> o[:<00>
lT<> o<>n<>!<21> <0C><><1F><>!<21>N<>_TpN<><00>ƆE- ֨!9 <0F>k&8!;-s <0C>y!<-<<12><>!>
-<00><><00><><00><><02>:o<>!C<1C><><00><><00><><00><><02>:_Tp<C__v< <0B><><1A><>!9 <0C><>k&8!;-s <0C>y!<-<<12><>!> r.<2E>R<>X<><02>:o<>!Cޭ.<2E>p<>v<><02>:_Tp<C__v<
<14>,&!9 <05>k&8!;-s <0C>y!<-<k<>!>,<00><><00><><00><><02>:o<>!C<1C>;<00><><00><><00><><02>:_Tp<C__v<d <0B><>S<>!9 <0C><>k&8!;-<2D> <0C>y!<-<2D>X!><11>T$<24>H<>N<><02>:o<>!C<1C><>$<24>f<>l<><02>:_Tp<00>C__v<00>d
<EFBFBD><1A><>$<24> <0C><> u{$<24>+<2B>U <0C><>$<24>+W <16>$<24>+<2B>;r2W<00><01>xF) <1D>r:<3A> <0C><>_Tp<0F>$<24>:<3A> <0E>5<><35><00>&8:<3A>_Tp<0F>eb$<24> I<> u{$<24>+<2B>U <0C><>$<24>+F <16>$<24>+<2B>;r2F<1A>j$<24> <0C><> u{$<24>+<2B>U <0C><>$<24>+Y<> <16>$<24>+<2B><>r2Y<>S<><53><14> <0B><>Gg<14>ק<04><><07>{:;<01><><00><>:;M<><4D> <07><>:;<01><><00><>:;<01><><14>ק<04><>[b<00><><0E><14>E;'<16><01>WB
j<14><<3C>B<>E;'<27><><14>ק<16>ǁB<>j<>p<>E;<04><> <0B>P;<01><><00><>:;<04><>%σ<00><><01><><00><>:;-N<>-?<3F>P;<01><><00><>:;N<>4ߦ<00><><01><><00><>:;-aB<<07><00><><14><1F>E;<1F>'u{<14>7<><37>P<>@<07><>P;G<>R<>:;<1F>kBG<07>E<00><>l<>w<>E;<1F> <0B>K<<3C>P;<01><><00><>:;<1F>
WR<><14><01><><00><>E;<1F>r2ק <0B><><1A>$<24> <0C><> u{$<24>+<2B>Ur2ק<1D>1!<21> <0F><1F><>!<21>4;<1A><>
x 6<><00>5
zV;1<>7<>V;<00>5
}V;L<>W<>V;a;<00>5
<EFBFBD>V;m<>x<>V;g;<00>5
<EFBFBD>V;<01><><00><>V;m;<00>5
<EFBFBD>V;<00><><00><>V;<01><01><00>TZ
<EFBFBD>s;<00><>y;<00>TZ
<EFBFBD>a;<00><>g; <0A><>
<EFBFBD> N<><00><1E>
<EFBFBD>V;<17>"<22><10><>N<>V;~<K<><4B>wz;N<> <0F><1D>z
W <0C><>D<0F><03>TZ
_s;h<>;<00>TZ
ba;<00><><01>;<00>8
d<11>;<00><><00><><02>;<00>8
h<11>;<00><><00><><02>;a;<00>8
p<11>;<01><><00><><02>;<01>;<00>8
s<07>;<00><><00><02>;<01>;<00>C
<EFBFBD>;<16>!<21><02>;<01>;<00>C
<EFBFBD>;7<>B<><02>;<01>;<00><01>\
<EFBFBD>U<>`<60><02>;;<00> 2
m<13>;<><00><><10><>N<><02>;~<K<><4B>w<00><01>lTN<54> ;<3B>S<><53>
, <0B><>D;<3B><01><01><>
<EFBFBD><11>;<01><><00><><02>;<01>;<00><01><>
<EFBFBD><11>;<01><><01><02>;<01>;<00>C
C<07>;<18>#<23><02>;<01>;<00>C
J<07>;:<3A>E<><02>;<01>;<00><01>\
fX<>c<><02>;<01>;<00><01><>
<EFBFBD><13>;<01><><00><>rR<00><>TN<54><02>;~<<00><01>lTN<54> <0B><>9m#!'<27><><00>Ǥ
 <0C><><1F><>
N<>C__iw_Tp<00><>p<>!<21> <09> <0C><>!<21><13> _Tp<00> <1D>e< N<><00>num<!<21><00>~den<!<21><01><01><><00><00>K$N<00><1D>"< <0C><>pA.<!<1D><01>H.<#<1D><03>Lnum<-!<21>Lden<.!<21>_R1_R2 <09>
<< <0C><>Lnum<D!<21>Lden<E!<21>_R1_R2<1D>"< C<>pA.<!<1D>pH.<#<1D>Lnum<-!<21>Lden<.!<21>_R1_R2ly<< <0C><>Lnum<D!<21>Lden<E!<21>_R1_R2l+<2B>< <0C><>pA.<!<1D>pH.<#<1D>Lnum<-!<21>Lden<.!<21>_R1l_R2 <09>pN<< <18>Lnum<D!<21>Lden<E!<21>_R1l_R2<16>!<21> =<3D><1F><>!<21><13> _Tp<00> w<>< <0C><>pA.<!<1D><01>H.<#<1D><03>Lnum<-!<21>Lden<.!<21>_R1_R2<00>%h< <0C><><00>num<!<21>@B~den<!<21><01><01><><00>@BK$N<00><1D>/<< <20>Lnum<D!<21>Lden<E!<21>_R1_R2{Kc!<21> <<3C><1F><>!<21>b<01>G{ y<> <0C><>G~W(/XG<><1E>I<>o<>x<<10><>W <0C><>GGJ.<2E>=<3D>!<21> <0C><><1F><>!<21><15>U_TpiB<1A>mH_ <0C><><00>wHa $8_<>!<21> <0C><><1F><>!<21>8$_Tp8$<1D><>!<21> <0B><1F><>!<21>i08G{ H<> <0C><>G~F(/XG<>C<><18>><3E><01><<10><>F <0C><>GGJ<47><4A>Y!
 <0C><><1F><>
<18>C__iw_Tp<00>/ca <0C><>!Be<02>ק<00><>_Tp<00>Y<>Y<>ק<00><01>Be<02>0!<21>_Tp&j<>j<>!<21>[<5B>$<24> &<26> u{$<24>+<2B>U <0C><>$<24>+; <16>$<24>+<2B><>r2;<1D><>
 U<><1F><>
<15>(C__iw_Tp<00><><01>Iv ~<7E><10>=F<10><>Fڲ<1D><>I<> <0C><>5U<35>o<>I<><07>=<00><><00><><02><FF_TpF ~<7E>
Za <04><00>Be<02><>ק_Tp<00>Y<>Y<>ק<1D>!<21> )<29><1F><>!<21><15><>_Tp<00>;j<>!<21> N<><1F><>!<21>N<>_Tp~< F<>#rE<72><45><00><01><>
.<05>@<00><>C__iwr<>l<00><>TN<54><01>;<00><01><> J~<<00><>_Tp~< A<00><01><>
"3A<00><>C__iwr<>l<00><>TN<54><01>;<00>(
s; <0C>C__iwz;N<>q;<00>5 c<05>A,<2C>_Tp<00>;<01>;!e<>wL<>קm<>K|<7C>_IIק_OIקקקק!a<>H<><05><>ק<00><>r2קק!<21><><10><05><>ק<00><>K|<7C>_IIק_OIקקקק!a<><14><05> ק<00><>r2ק<01><>!<00>wJ(ק7<>K|<7C>_IIY<>_OIקY<>Y<>ק<05><>ק[<5B>r2קק!<21><><14>%Y<><00><>r2Y<><10>+<00><>}!(7<10>g!ק<00><>_II<00><>_OIק<01><><01><>ק!8<10><05>^ק<00>K|<7C>_II}_OIק}}ק!V<>H<>p}$<24>r2}} F<>#rE4<45>!<21>
"<05><00>^i<>C__iwr<>lc<>T<18>T<>(ҷ!3<>
<05><>@<40><00><>C__iwz;<00>(qL<>!<21><><10>b<>ק<00><>_II}_OIק}}ק F<>#rEb<45>!<21><>
"<05><>qc<18>C__iwr<>l<12>T<18>T<>(ҷ!{N
F<00><>U<>C__iwz;<18>rO<>T<>(<01><>(7s<05>|ק<00><><1C><00><><10><>ק<01><><01><>ק(<28>i <0B>nF<00><>_Tpi<01>;(<28>i /<05><>F<00><>_Tpi<01>;(<28>'/t<>Ni<00><><10><>hTi!<21><>w<05><>!<21>5<>K|<7C>_II!<21>_OI!<21>!<21>!<21>!<21>!<21>i<05>9!<21>Y<>r2!<21>!<21>!<21><><05><>ק<00><><1C><00><><10><>ק_Tp<00><01><><01><>ק<16>(<28><>s-<2D>ק<00><><1C>}<10><>ק}}ק<00>K<><00><>z<><1B>4<01><><00><>p$<24>!L6b<04><><1B>A<><00><>$<24>/<2F>pb<00><01><><07>KC<01><>O<>Z<>Ty-<04><><1B>+<2B>Tyt<>z<>Ty9<>"<1B>n?<01><><00><>Ty4
bPF<00>M <0B><>(<28><> cr<><00>q<00><>_TpiBiBz<> 
<EFBFBD><00><><10><>קקק(h <0B><05><>W<1C>_Tpb<01>;(h / W?<3F>_Tpb<01>;!w<>d<18>ŭl<>
bF<00>Mŭ!<21><><10><05>!<21><00><>K|<7C>_II!<21>_OI!<21>!<21>!<21>!<21>!PrH<><05>8!<21><00><>r2!<21>!<21><00>YZ J<05><<00><>_Tp8$t!<14><05>Z<00><><1E>_Tp<00>P/<2F><00><>ק!<21><>E<>קc<><1C>}<10><>ק_Tp<00>}}ק<16>z<>4<03>p
<00><><10><>ק_Tp<00>קק<16>(<28><> /<05><>(<28><00><>_Tp<00>9<>(<28>y<10>6n<><00><>_Tp<00>n<>n<><00>~O <15><00><02><>o<07><>&<26><00><10><>ӵ!K<>N<05>ŭB<>
bF<00>Mŭ!<21>:<10><05><>!<21>y<>_II!<21>_OI!<21>!<21>!<21>!<21><00>eY<05><>t<>N<>q8~<<00>36;<05><><00>6<>_FnN<>q8~<<00><01>y J~<<00><>_TpN<><01><>!<21><>,<1F>ŭ<0F>F<00>MŭF1<>k <0F> 3<>D<>&X!<21><03>HE<><01>!<01>!(<28>E6<>T<>pd<>pp(<28>E6<><03><00><><00><01>\<17><00><>
bF1%sJ<>s<00>9JbJk%<25>KLJ<>=\aJ8J)<29>/<2F>LL<00><1C>' U<00><01><>'A}'A<><41><00>=<3D>M# &<26> /&<26> <0B>&<26> <0B>&<26> <0B>&<26> <0B>&<26> &<26> ,mdiv&<26>0<>/Z<><01><01>(?N7 <0C><>Q<><51>N:aQ<><51>N;aQ<>kN?Q<><51>N@a<10>V--<2D> <0B>:- <0B>:- <0B>:'<27>> <0C><> <0C><>@<1F>
b_8W <0C><>znA`Z<><06>;%; <0C>!Y9b <06>meqd<05>5<>%;%;mlth<07>8S<>%;%;((<28><17><05>I-w<>+;+;<01>O(-
<17> <00>O<00><>+;(<28><><17>+;<00><>+;<01>O%;(<28>4<17>2%1;<00><>1;+;<01>O(W<><17><1;<00><>1;+;<01>O(nA<17><05>g1;!<21>1;<01>O<06>(<28>!~n7<06>;<3B>7; <0C><>Z9<5A><39> ;<3B>(N<17><07><>;<3B>f<>%;(<28><><17><07><><00><>7;7;<00>eof<17><07>E;<3B>(.t<17>|<7C>;<3B><00><>7;
b,<0E>O-<0E>U: ><3E>7O<07><><00>;<01><><00><><02>;7QU_<00>;<0F><1A><02>;<01>;6V<07><>C3<>><3E><02>;-$<24><>?Wh<>Y<07><>><3E>d<>o<><02>;o<>$<16>A<1A>;$<24>9@Fh<>]<07><>|<7C><01><><00><><02>;<01><>$ <0B>B<1A>;!<21>c<07><>><3E><01><><00><><02>;<01><>&$[h=<1A>O9"<22>tI<><05><15><02>;><3E><01><><0E><05>M<00><>.<2E>4<><02>;_Tpb <0B><><1A><>2
u<EFBFBD>2
n~2
/~2
<EFBFBD>~2
<EFBFBD>~5~(<28><>^<13><><00>U<00><><01>;z<><7A>aW|<00><>iBiB<Zwd(,<<>gfr<<3C>pj<1B> <<16>mta<p0<> <0C>y:5<>~ <0B><> <0C><>;5"~ <0C>9<5 [h=5a~ <16>@5oB <0B>A5uB<13>tk<> <0C><>uA_Tpb(<28><00>US<><53><14> <0B><>Gg<14>W<<3C> @{<00>:<01><><00><><02>:M<<3C><07><00>:<01><><00><><02>:<01>:'<16>2<><32>WB5Y<00><><01><><05>;'<27><> 2<><32><16> W]<05>-<2D>3<>;<04><>$<07>} ;M<>S<><02>:<04><>+6<>u<>m<>x<><02>:-N<>0;<3B> ;<01><><00><><02>:N<>7<07><>u<><01><><00><><02>:-
W<?e<00><><01><><00><>;<01><>'u{8<><38>P<>@Q<> ;
<EFBFBD><15><02>:<01><>aBD<07><>u<>/<2F>:<3A>;<01><> <0B>H<07><> ;T<>_<><02>:<01><>kBL<07><>u<>y<><00><>;<01><><04><>P<07><><00>:<01><><00><>;r2W<10>+] u<>SEB<14> ,<2C>Gg<14>F<<3C> <1A>s<00>:<01><><00><><02>:M<<3C>l<00>:<13><1E><02>:<01>:'<16>23<32>WB<07>*<1E>F<>L<><02>:'<27><> 2'<27><16> 3L<>t<>z<><02>:<04><>$Rh<00>:<01><><00><><02>:<04><>+<07>g<00><><01><><00><><02>:-N<>0l<><00>:<01><><00><><02>:N<>7<07><><00><><01><><04><02>:-
W<<07>6<1E><1E>)<29><02>:)<29>'u{8<1B>P<>@<07><00>:Q<>\<5C><02>:)<29>aBD<07><><00><>v<><00><><02>:)<29> <0B>H<07><><00>:<01><><00><><02>:)<29>kBL<07><><00><><01><><00><><02>:)<29><04><>P{C<00>:<01><><00><><02>:<04>8 <09><00>:<0E><19>#6W<02>:<01>ar2F<10>+] <0B><>i<>Nd x<>Q<><51>NgaQ<>kNjQqgNkaQ<>Nla<10>V5!lNd <0C><>Q<><51>NgaQ<>kNjQqgNkaQ<>Nla<10>V&<Nd <06>Q<><51>NgaQ<>kNjQqgNkaQ<>Nla<10>V<00>0Lq: z<>7O<12>v<>,<2C>2<>v<>7Q7<>v<>K<>V<>v<>|<7C>6VEACo<>z<>v<>-$<24><>?<1A><>h<>Y<07><>z<><01><><00><><02><><01><>$<16>A<1A><>$<24>9@;h<>]<07><><00><><01><><00><><02><><01><>$ <0B>B<1A><>!<21>cb<>z<><0F><1F>v<><1F>&$[h=<1A>O9"<22>t<07>wA<>Q<>v<>z<><1F><0E><05><07><><1F>j<>p<><02><>_Tp- <06><1A>>2
<EFBFBD><EFBFBD>2
<EFBFBD><EFBFBD>2
}<7D>2
<EFBFBD><EFBFBD>2
<0F>5b<35>(<28><>^G<00><><00><><01><>z<><7A>aW<><00><><01><><01><><Zwd<1B><><<>gKi<<3C>pj<08><<16>mOj<p&<26> <0C>y:5E<35> 7<> <0C><>;5p<35> <16>@5<><35> <0B>A5<41><35>Q<>t<0E><> <0C><>uAR<41>_Tp-(<28><00><>1<02>S<><53><14> <0B><>Gg<14>;<<3C> [<5B><00><<01><><00><><02><M<<3C><07><><00><<01><><00><02><<01><'<16>2<10>WB<07><00>(<28>.<2E><02><'<27><> 2<04><16> <07> .<2E>V<>\<5C><02><<04><>$<07><><00><v<>|<7C><02><<04><>+G<><00><><01><><00><><02><-N<>0 <00><<01><><00><><02><N<>7r<00><><01><><00><><02><-
W<<07> <00><00> <0B><02>< <0B>'u{8<><38>P<>@<07>-<00><3<>><3E><02>< <0B>aBD}<7D><00><>X<>c<><02>< <0B> <0B>H<Q<00><}<7D><00><><02>< <0B>kBL<07><><00><><01><><00><><02>< <0B><04><>P<07><><00><<01><><00><><02><r2;<10>+<12> <0B><>0<><30>: Y7O<07><>Ƨ <0B><11>Ƨ7Q<07><>Ƨ*<2A>5<>Ƨѧ6VZqCN<>Y<>Ƨ-$<24><>?קh<>Y<07><>Y<><><00><><02><><01><>$<16>A<1A><>$<24>9@Y<>h<>]<07><00><><01><><00><><02><><01><>$ <0B>B<1A><>!<21>c<07><>Y<><01><><00><>Ƨ<01><>&$[h=<1A>O9"<22>t 0ƧY<><01><><0E><05><07><00><>IO<02><>_Tp<00> <0B><> u2
x2
<EFBFBD><EFBFBD>2
<EFBFBD><EFBFBD>2
<EFBFBD><EFBFBD>2
<1F>5r<35>(<28><>^<13>T<00><><00><04>z<><7A>a~<00><16><16><Zwd<1B><><<>g<1B><><<3C>pjz<><<16>m<1B><<p<1D> <0C>y:5U<35>  <0C><>;5<><35> <16>@5<1C> <0B>A5"<22><1A>Xtn <0C><>uAb<41>_Tp<00>(<28><00><>S$<14> <0B>Gg<14>Y<><<3C> <1A><>;<01><00>;M<<3C><14>;<01><00>;;'<16>2n<32>WB"<22><00> #;'<27><> 2b<32><16> <07><> 5;#;<04><>$<07><>.;U[;<04><>+q<>}u<00>;-N<>0]<5D>.;<01><00>;N<>7<07>*}<01><00>;-
W<<07><><00><01><00>#;<01>'u{8V<38>P<>@<07><>.;;<01>aBD<07>a}7B#;<01> <0B>H<07> .;\g;<01>kBL<07><>}<01><00>#;<01><04><>P{l;<01><00>#;r2Y<><10>+<00><> }0<><30>: 87O<07><>ר<01><00>ר7Q<07>$ר רݨ6V<07><>C-8ר-$<24><>?b<>h<>Y<07>8^i<02><>i$<16>A<1A><>$<24>9@<1A><>h<>]?=v<01><00><02><><01>$ <0B>BZ<>!<21>c`8<01><00>ר<01>&$[h=<1A>O9"<22>t+#<01>ר8<01><0E><05>F$<00>(.<02><>_Tp<00>o <0B>A<>2
W2
<EFBFBD><EFBFBD>2
z<EFBFBD>2
<EFBFBD><EFBFBD>2
<0C>5_<35>(<28><>^T4<00><><00><01><>z<><7A>an~<00><01><01><Zwd<1B><><<>g|M<<3C>pj<1B>}<<16>mސ<p  <0C>y:5B<35> <0B> <0C><>;5m<35> <16>@5<07> <0B>A5 <0A>%<25>tM <0C><>uAO<41>_Tp<00>o(<28><00><>1<>41d)0<>: <0B>7OMm<><01><00>m<>7Q <20>m<><01><00>m<>s<>6VcC<01><00>m<>-$<24><>?<1A><>h<>Y_<><00><01>y<>$<16>Aަ$<24>9@<1A><>h<>]A<>9Dy<>D$ <0B>B<1A><>!<21>c<07>7<00>jzm<>z&$[h=<1A>O9"<22>tV<><01><00>m<><01>z<0E><05><07>gz<01><00>y<>_Tp͂ a<1A><>2
<EFBFBD>2
N<EFBFBD>2
<0F>2
<EFBFBD><EFBFBD>2
<EFBFBD><EFBFBD>5<><35>(<28><>^<13><>w<>'<01><>z<><7A>a`*B<01><><01><><Zwd<1B>o<<>g<1B><><<3C>pjl<><<16>m{<7B><p<1B>h <0C>y:5<><35> <0B> <0C><>;5<02> <16>@5<><35> <0B>A5<41><35><1A>dt<0E> <0C><>uA<75><41>_Tp͂(<28>w<>1<><31>1H<31>0<>: r
7O<07>*<03>$ * <03>7Qaz<03>C N <03> <09>6V<07><>Cg r <03>-$<24><>?d<>h<>YmGr <01> <00> <0F><01> $<16>Aڤ$<24>9@<1C>h<>]@V<00> <01> <00> <0F><01> $ <0B>B.<2E>!<21>c<07>rr 

<03>
&$[h=<1A>O9"<22>tjW9
I
<03>r 
<0E><05><07><>
b
h
<0F>_Tp <0B><1A> 2
\ 2
<EFBFBD><EFBFBD>2
<EFBFBD><EFBFBD>2
<15>2
6<EFBFBD>5<><35>(<28><>^ 8 <0C><00>
<1B>z<><7A>a<11>V<00>
-<2D>-<2D><Zwda<<>g><3E><<3C>pjA<><<16>mMA<p<1B><>ĉtR  <0C><>uAl<41>_Tp<00>(<28> <0C>0<>p: <0B> 7O<07><>3<><01> <00> 3<>7Q<07>x3<><01> <00> 3<>9<>6V<07>NC<01> <00> 3<>-$<24><>??<3F>h<>YTu<00> <01>  E<> $<16>AK<>$<24>9@Q<>h<>]}@ 4 ? E<>? $ <0B>BW<>!<21>c<07>~<00> e u 3<>u &$[h=<1A>O9"<22>t<07>v<01> <00> 3<><01> u <0E><05>u <01> <00> E<>_Tp<00> \ EW2
<EFBFBD> 2
Z<EFBFBD>2
<1B>2
<EFBFBD><EFBFBD>2
<EFBFBD><EFBFBD>5<00>(<28><>^<13><00><>" c<>z<><7A>a<11><>= u<>u<><Zwd<1B><><<>g<1B>n<<3C>pj <<16>m<1B>]<p<1B>v <0C><>;5<0E>(<28><00><>0g: 7O<07><>ժ<01> <00> ժ7Q<07>/ժ<01> <00> ժ۪6VAtC ժ-$<24><>?<1A><>h<>Y<07>o=H<02><>H$<16>AƦ$<24>9@<1A><>h<>]aU{<00><02><><01>$ <0B>Br<>!<21>c<07>%<01><00>ժ<01>&$[h=<1A>O9"<22>t<07>+<01><00>ժ<01><0E><05><07><00> <02><>_Tp<00><> <0B> B<>2
62
<EFBFBD><EFBFBD>2
<EFBFBD><EFBFBD>2
<13>2
4<EFBFBD>5<><35>(<28><>^<13><>
<EFBFBD>i<01><>z<><7A>a<11><><00> <0B> <0B><Zwd_<<>gR<><<3C>pj<1B>@<<16>m<1B><p<06> <0C>y:5j<35> <0B> <0C><>;5<><35> <16>@5<11> <0B>A5<17><1A>(t, <0C><>uAw<41>_Tp<00><>(<28>
<EFBFBD>1<>h1n0@<40>: <0B>7O]d<00><>fl<02><>7Qb"<00><><01><00><02><><01><>6V<07><>C<01><00><02><>-$<24><>?d<>h<>Yѱ<00><01><00><02><><01>$<16>A<1A><>$<24>9@j<>h<>]<07><><00>#<02><>#$ <0B>By<>!<21>c<07><><00>IY<02><>Y&$[h=<1A>O9"<22>tA<>{<00><02><><01>Y<0E><05><07>cY<01><00><02><>_Tp_ @<1A>#2
<EFBFBD>2
v<EFBFBD>2
7<EFBFBD>2
<EFBFBD><EFBFBD>2
<EFBFBD><EFBFBD>5<1C>(<28><>^<05><00><><01><>z<><7A>aU<>!<01><><01><><Zwd<<>g<1B><><<3C>pj<1B><><<16>mO<><p<1B><> <0C>y:5<><35> q <0C><>;5*<2A> <16>@5<><35> <0B>A5ū<1B>t<0E> <0C><>uA <0C>_Tp_(<28><00><>1<><31>1<>]"N7 $Q<><51>N:<1B>Q<><51>N;<1B>Q<>kN?Q<><51>N@a<10>V<00><13>N7 kQ<><51>N:iQ<><51>N;iQ<>kN?Q<><51>N@a<10>Vb<1A>XN7 <0C>Q<><51>N:-Q<><51>N;-Q<>kN?Q<><51>N@a<10>V&wF<77>wO1<08><06><><06><>O <0B><00><02><>O5<1D>!#<23><14><05>A)<29>r2F<10>+]<01>a<01>a<00><01><><14>R<>-<10><>F,<2C>W<10>+]<01>a<01>a -<2D>P<>- - <0C>6P<>w fU<07><> w<00>P<><10>y<00><00><01> P<>O<><00>b P<>S<>U"<22> <0B>U<04><00><02>yP<><03><08>RU~<7E> <0B>U<07><>U<07><> <0B> T/Q$U<06><> <0C>Q%<17> <0C>Q&&U<05>+ & <0C>4Q'<1C> <0C>cQ(- > <0C>|Q)w <15>Q.,<2C> +<2B>Q/.< < C<>Q3<12> R<>Q4 ;0Q5 <0C>HQ62 b}Q7> <1A>Q8O <0C><>Q9[ <0C><>Q:g ,iQA%<25> <0C><>QJ%<25> <0C>[QK.< <0C>|Q<>U'<27> m<>Q<><1B>Z-+_w
Q<> +<2B>Q<><00> C <0C>8Q<>!b WU<08><> b V/R<12> <0C>R <0C>cR> <17>R[ <0C>S <0C>4S2 <0C>|SO -<2D>Sg E<>T+x =0T,<19> d}T-<19> <0C><>T.<19> T<>T1<19> <0C>HT2<1A> <1C>T3<1A> <0C><>T4<1A> XGT: <1C>T@- <0C><>TA- JmTC<18> WGTG<18> <1B>TMw <0C><>TNw ImTP < ީT]- ݩT`w <0C><>Te<15> <0B> <0C>[Tf<16> <0C>#U, <0C><>U/<1A> <0B>U<06><>U<05>+U<07><>U:V &U<02><> s<<3C>x<00><04>scDzUЧ =Un<> IU<10><> U<04><00><01>T<00>W \ <00><01> <00><1D>%8 <0B><00>%:<18> V;Φ<00> VV< -RremV= - ϦV><05>VC_<><00> VVDRremVE `<60>VF<05>VM<03>$/ VVN<13>RremVO<13> <0C>$VPa ;i F "
W+ -<2D>X7 ]<1A><>Y <08> <0A><>Y 7 ܝY K<1A>[ZX<10> <0A><>ZZ$<24><04> <0C><>Z[<03>~JZv<<00>Z<><03>Yw<59>Z<>-Y:LZ<><17> <0A>{Zx- <0A>Zyw <0A>gZz- m<>Z<>- <0A><>Z<>w<10><01><1A><>0Z<30>)<00>Z<><03><00>Z<>x Z<>w <0A><>Z<>wY<><59>Z<>*<Y
Z<>S<00>Z<><03><00>Z<><05> Z<>w <0A><>Z<>wYy#Z<>*<Y<>Z<><07><00>I<00><01> q<>Z<>) {<7B>Z<>) <0A>CZ<>w <0A>Z<>w$ <0A><>Z<>)(Zw9_w <0C><>[<1B>ZbU_w K<>[1w<00>[D<01>t<00>Y/[E<1C>Yb[F'<27>[G Zb<00>_w <0C>t[Ha<00>0[L<01>g<00>Y/[M<Yb[N&<26>[O<1F>Zb<00>_w/ <0C>g[P<03>!<21>V% -&&&,<00>,]VP -EEK<00>!<21><>VU<12><>-hEE<><45>\&~F,6<>Vi-<00>F,;<3B>Vn<00>FE9<45>]C<00>&&ff<01><00>divVQ<0E><00>--,<2C><>VwW
F,R<>VS<0F>&V<> -BFf,<2C>OV<>fccFf=,/<2F>V<> -<00>cFf<00><01>\V; <0A>Cff<01><00><02><>Vl <0A>-<00><01>qV<> -<00><01>qV<> <0A>wEs;Vu&<00>F<01>WE&<26>V<>$F<01>-E<17>V<><1A>DF<01>-,=V  -[F,<2C><>V<>f|W|fD,{<7B>V<> -<00>W=,Q<>VW/<00><01><01>,Q<>Vu<01><00>FE<><45>V<><16><00>F<01>-V<><F<01>-E<><45>V{5,F<01>E<1A>V~<14>GF<01>"<04>#
<04>#2"
"2$F$<1C>$%l2%|@%EN%<1E>\%<07>j%Y<>x%/<2F><00>%<07><><00>%<07>u<00>%HX<00>%<07><><00>%<07><><00>%<07><><00>%<07><00>%|<7C><00>%<07>J&;V&<07>9%&o<>4&UKC&<07><>R&Q<>a&$+&8<00>&y<><00>&<07><><00>&<07><><00>&+&<00>&Q<> ')<29>'<07>cL'<07>U[':zj'<07>|y'x<><00>'<07><><00>'<07>j<00>'l1<00>'<00>'<07>E(/&(<07>R5(G<>D(<07><>S(<07><>b(H<><00>(xH<00>(<07>.<00>(*q<00>(<07><><00>(J
)<07><>)*<2A>%)<07><>V)!@e)vt)<07>=<00>)(j<00>)<07><><00>)<07>G<00>)<07>@<00>)w <00>)΁!*<07>@0*<07><>?*l<>N*<07><>]*<07>Xl*<07><><00>*<07><00>*<07><><00>*nf<00>*<07>?+<00>+<07>. +]<5D>/+<07><>`+<07>&o+<07>~+<07><><00>+K<00>+<07>e<00>+y<><00>+<07>=<00>+qS<00>+<07><>+,<07>J:,<07>I,h<>X,<07>_g,<07>av,<00>,<07>`<00>,z$<00>,<07><><00>,3<> --<07>H*-<07><>9-<07>Uj-<07>y-<07>j<00>-6c<00>-<07><00>-<07>U<00>-<07><><00>-:U<00>-#<23><00>-<00>5.<07>[D.A<>S.<07>Eb.<07>q.r<><00>.7<><00>.}<7D><00>.<07>C<00>..H/և/<07>j%/<07>P4/<05>C/<07><>t/W<><00>/<07><><00>/<07><><00>/<07>0<00>/`<00>/4<><00>/<1C><00>/]6<00>/*?0F<>N0<07>h]0<07><>l0߸{02<><00>0@<00>0<07><><00>0<07>O1B<>1<07>, 1c<>/1<07><>>1JdM1+<2B>~1<07>P<00>1<07><><00>1I<><00>1<07>$<00>1<07>O<00>1yy<00>1)<00>1<07><><00>1<07><>I2<07>1X2><3E>g2R;v2rf<00>2t<><00>2<><00>2<07><><00>2$<24> 33<07>T*3<07><>93<07>>H3WzW3<07><><00>3ʔ<00>3(<28><00>3y<><00>3<07><><00>3Q<><00>3a<><00>3 <00>3<07>R4<07><>S4qb4<07>q4C/<00>4O<><00>4<07><><00>4<07>.<00>4,X565<07>`%5<07>!45khC5<07>XR5f<>a5a<><00>5۾<00>5Z<><00>5<07>"<00>5/H<00>5<07><><00>5S^<00>5u<00>5%_
67<>]6svl6<07><>{6<07>f<00>6<07><><00>66<><00>6y&<00>6<07>;7<10> 73<>/7<07>^>7<07>MM7<07>B\7y<>k7<07>]<00>7<02><00>7<07>q<00>7<07><00>7<18><00>7<07><><00>7f=<00>7Ĉ8 T8<07><>g8<07><>v8<07>B<00>8Շ<00>8<07><><00>8<07><00>8,p<00>8G9#<23>*9<07>\99!9H95W9Uf9<07>1u9<07><><00>9<07><><00>93<><00>9<07>c<00>9D<00>9<07><><00>9<07><>:GC:&<26>:J<>q:<07>M<00>:<07><00>:oZ<00>:<07><><00>:<07> <00>:Ig<00>:n+%;<04>4;|<7C>C;<07>R;5Ua;<01>p;&<26>;/\<00>;<07><00>;OL<00>;$M<00>;<07><><00>;<07><><00>;h_
<G`<9<>(<<07>={<\<00><*R<00><<07>{<00><t<00><z<00><<<00><<07>!/=V<>>=\<5C>M=}_\=yIk=.Az=<07><><00>=Sg<00>=8<><00>=<07><00>=<07>7<00>=<07><><00>=s<>>K@><07>V#><07><>2>9<><00>>9]<00>>:;<00>>N<><00>><07>Z<00>>~z<00>>n<><00>><07>H9?0<>H?#{W?<1B>f?<07>5u?A<><00>?<00>?'<27><00>?_<><00>?<07><><00>?<07>7<00>?t6@N<>@<07>%@9o-@_<><@K0<00>@<07>|<00>@<07>_<00>@k<><00>@@<40><00>@<07><><00>@<07>&A<07>`CA<01>RA<03>aA<07>pA<07><>A<07><00>A<07><00>A[F<00>AQ<><00>AP<><00>AC<><00>A<05>
B1<>B<07><>(B<07><>7B<07><>FB<14><00>Bg<><00>B<07><><00>BQ<><00>B'<27><00>B1<><00>B<07> C<07><>MC%<25>\CAKkCqmzCi<00>C<07>L<00>Ci8<00>C<07><><00>C>|<00>C<07><><00>CE D<07>2D"#D<15>2D<07><>AD<07><>PD* <00>D<07><><00>D<07><00>DK<00>D<07><><00>D<07><><00>D<07><>E<07>oWE#<23>fEq<>uE<07><00>Ez'<00>E<07><00>E<07>=<00>E<07>T<00>E%*<00>E1<>F<07>eF<08>!F<07><>0F<1F>?F{3NFp<>]F3<><00>F<07>Z<00>F<07><><00>F<07><00>FR<><00>F<07>m<00>Fo<>"GA<>dGz!sG/<2F><00>G<07>f<00>G<07><00>G<07>U<00>G<07>G<00>Gho<00>G<07>>H)<29>H<07>b"H6<>3Hf*BH<07><>QH<07><>`H,oHY<><00>Hf,<00>H2<00>Hv<><00>H<07><><00>H<07> I<07><>4I4<>vI<07><><00>I<07><><00>I<07><><00>I 3<00>I<07>1<00>I<07>#<00>I<07><>Jv'J<07>$#J<07><>4J<07><EJ!<21>TJ<07>'cJiArJ@<40><00>J-k<00>J<07>K<00>J$w<00>J<07><>KܬKcVK(<28><>^S<01><>&<00>.&-f(<28><>^M<01><>C/C-fE<>^<5E> -1/FF,<2C>^<5E>WH/-,<2C><>^OWd/WFEkP^<5E>f<00>/WFf(<28>o^<5E><01>oF<00>/F-(<28>o^<5E><01>oW<00>/W-!p&^'p&F<00>/FF!p&^!p&W0WF(s<>^<5E>s<>F!0F-(s<>^<5E>s<>W@0W-!/G^B/GF`0FF!/G^</GW<00>0WF <0C>=_(<1B>0<00>r<>`<00>0<00>S<>C y<>awb<01><00>0<00>b<03>0Y/<2F>bwY:<3A>bE <0A>b- $8b<05>0 <0C>b<03>0 <0C>c<15>0 1 Hwd%1^<5E><00>e1<08>2 <0A><>e3- <0A>Xe6 W UEe7 W <0A><>e8 W <0A><>e9 W <0A>ee: W <0A>Qe; W H<>e< W <0A><e= W <0A><>e@ W$ <05>eA W( <0A>VeB W, h<>eD<16>>0 <0A><>eF<14>>4 <0A>eH-8 <0A><>eI-< <0A>ieJ <0B>@ @qeM<12>D X<>eNF J6eO<13>>G <0A>{eQ?H ;,eY P ,e[?X Qe\?\ e]<14>>` o-e^ Cd <0A><>e_
fh <0A>5e`-l <0A><>ebJ?p <0C>_f%1,0<>g><01>0<00>2-,<2C>g<><0F>0<00>2<01>21,xg<>c 3c-<01>2,vg<><0F>0)3=<01>2,<2C>g<> -E3|<01>2,<2C><>g= -a3<01>2-,<2C>ngD -~3<01>2|+,<2C>Zgm -<00>3<01>2|+,<2C>g<><0F>0<00>3<01>2<00><16>g<><0F>0,#gIf<00>3Ff<01>31,O]g(f 4cFf<01>3,<08>g$ -$4$41,<2C>cgQfP4cP4f<01>3F,wg<><0F>0r4=<01>2,aWg<><0F>0<00>4=,7jgN -<00>4cf|+,<2C> gw -<00>4||+,<2C>{g<0F>0<00>4<01>0<01>2,<2C>ngV -5<01>2|<01>0,<2C>Zg<> -&5<01>2|<01>0,6jgc -L5cf|<01>0,<2C> g<> -m5||<01>0,a<>g^ -<00>5|<01>0,*Tg<> -<00>5|<01>0,<19>g-f<00>5W=<01>3E<>\gac<00>5c|E<>wgj -<00>5||g<> -6||E<>gWc26c|E<17>g<>fM6||,1igCfs6cf|s67<00>tm,h7 >h - <0A>$h
- *<2A>h - ¾h - <0A><>h - <0A>4h- .;h- R<>h- <0A><>h- G<>h $ <0A>0hF( y6E<>Xg<>f17|E<><45>gecQ7c|fE<>/gm -q7||fE<>7g\c<00>7c|f,<2C><>gWf<00>7W<01>7f<01>3|E<>Fg<>f<00>7||,<2C><>gy&<00>7|<01>7c,<2C><>g~58|<01>7E 'g<>c68c|<01>7,<2C><>g<>W8|<01>7-, Dg<><1A>x8|<01>7-E(<28>g<>f<00>8c|f,<2C><>gD-<00>8<01>0,<2C><>g -<00>8||f,<2C><>gc<00>8c|f,<2C><>g c9c|f,l<>gc39c=f,<2C>ngK -K9|+,<2C>Zgt -c9|+(<28>lg<><1D>l|<00>9|=(<28>lg<><17>lc<00>9c=(u(g<>u(|<00>9||(u(g<>u(c<00>9c|(<28>g<><1D>|<00>9|=(<28>g<><17>c:c=(<28>Mg<><1D>M|<:||(<28>Mg<><17>Mc[:c|(<28><>g<><1D><>|:|=f(<28><>g<><17><>c<00>:c=f,u3g<><14><00>:|<01>7,<2C>3g<><16><00>:|<01>7-,T<>g<><;|<01>7-
$N
1N1N$N
pO
<06>
<12><12><06>
G<>
P
)P)PP
hQ
R
RRR
TS
<04>S
TT<04>S
@U<04><> <0B>;
><3E>><3E> <0B>;
b
i<04>U <0B>;
KV
DsI8i3= <0A>pi7 W <0A>@i8 W <0A><>i> W <0A>QiD W <10>iE W <0A>piF W <0A>@iG W <0A><>iH W <0A><>iI W ?<3F>iJ W$ <0A>iKb( <0A>iLb) .<2E>iNb* d(iPb+ <0A><>iRb, =iTb- OSi[b. Нi\b/ *<2A>i_b0 `(iab1 <0A><>icb2 <0A><ieb3 KSilb4 ̝imb5izW7=-F<00>o<>i}D=<04>;ZWZ=_wX)j<>J=X<>Nj<> -X#Nj<>X+j<>J=X<>Nj<> -X%Nj<><00>8<>j -)<29>=C<04>= <0C>=/9 h<>2<19> * 4<18> 0 5n ^k -<1E><00>VhV
<04>_
hV<04>_<07>V#``
<04>i
`<04>i&|<00>i<04>i
2sP
<04>i2s
PI<07><>[s<s
<04>|\
<s<04>|
\U<1A><>l
<10>> <0A>El  <0A>Pl <0F>0 <0C>l<03>><00>)<29>e+n3<6E><04>>%1Zb?_w<04>>n) ?nN?Zb/?_w' t<>m4<18>0 }<7D>mV<14>> ;?X<11>m<>X?<04>2X<><58>m<>X?XHm<>X?X<>n -ZL<00>?<00>Xn<1A>?X<>n -Xn<1A>?<00>ZDm<> <0A>?X?E,m<> -<00>?X?,<2C><>m<> -<00>?X?,<2C><>m<> -
@X?E.m<> - @X?,S<>m<> -7@X?!<>m<> <0C><>-W@X?W@;?,*m:W~@W-X?!a<>m<14>X?<00>@FF,<2C>m<>f<00>@CffX?![<5B>m X?<00>@FFX?,s#m<> -
AX?-!<21><>m<> <0C><>-*AX?*AG?,Z<>m<>GAX?,T<>m<> -^AX?<00><01><>o/-<00>v=m  AFE<>`m<> -<00>AFE<>_m<> -<00>AFF<00><04>m<> <0A>AX?<00>-4m0 <0A>AX?W,<2C><>m4 -BX?W-f<<3C>Tm<><0E><>X?E#<23>m<>W)BW,<2C>Wm<> -EB-X?X<>*p-WXOp.W
O~
\~
<04>U
<04><>
<07>j {B2<04>UZb<00>B_w] <0B>B<04> <0B>B
>
P
]
<04>2]
]
<04>(#<23><04> <0C>q<>5 <0C> q<>&<00><01><>q -<00>cvrD <0B><>rM<10><>rMD<>rM^<5E>rMx<>rM<10><>rM<10><>rOΣrOƀrO<10><>rP<10><>rP<10><>rP<16>rQ<02>rQ0<>rQP<>rR!<21>rRp<>rR<10><><00><01>xr<> Ssrr<><12>K<00>CZr<>r<01><><EFBFBD><EFBFBD>Msrr<>3<>;<3B><01>C<00>C;<3B>srr<><05>p;<3B>DD;<3B>A<>srr<>~J;<3B>9DND;<3B>A<>ffsrr<><05><>;<3B>hDsD;<3B>Fsrr<>;<3B><01>D<00>D;<3B>Ffsrr<>%<25>;<3B><01>D<00>D;<3B>fbsrr<>V<>;<3B><01>D<00>D;<3B>FFMsrr<>s;<3B> EE;<3B>G<><04>8r<>P<>C0E;E;<3B>-Cr<> <0A>$M<>UE`E;<3B>A<>Cr<> .M<>zE<00>E;<3B>FCr<> Z<>M<><01>E<00>E;<3B>bP<>r<> <0A>2M<><01>E<00>E;<3B>A<>P<>r<> "~M<><01>E<00>E;<3B>FP<>r<> <0A>.M<>FF;<3B>bdr<> <0C><>f3F9FS<>-
r <0C><>fSFYFS<>
Wr
E@bsF~FS<>f
Wr
2@b<01>F<00>FS<>-Q<>rd{F<01>F<00>FS<>endr;<3B>F<01>F<00>FS<><04> r<11>rF<01>FGS<>m]r

a<EFBFBD>G#GS<><15><>r 
<EFBFBD><9G?G;<3B>(<28>r  f+-YGdGS<>F(<28>r <09>G-~G<00>GS<>A<><15>\r
da<01>G<00>G;<3B>M<><04><>r <0C>C<00>C<01>G<00>GS<>ff<04><>r 8If<01>GHS<>Fff<04><>r '<27>fH-HS<>bf<04><>r <0C><>fGHWHS<>A<>f<04><>r <0C><>fqH<00>HS<>Ff<04><>r <0C><>f<01>H<00>HS<>Fff<04><>r 0f<01>H<00>HS<>bf<04><>r <09>f<01>HIS<>A<>f<04><>r M<>fI.IS<>Ff<1D>r <0C>7fHI]IS<>Fff<1D>r <0C><>fwI<00>IS<>bf<1D>r ۦf<01>I<00>IS<>A<>f<1D>r  f<01>I<00>IS<>FfI7r" <0C>zf<01>I
JS<>FffI7r# <0C><>f$J4JS<>bfI7r$ ӭfNJ^JS<>A<>fI7r% <0C>gfxJ<00>JS<>Ff <09>r- <0C><><00>C<01>J<00>JS<>srr0<05>,;<3B><01>J<00>J;<3B><01>Bsrr1<05><>;<3B><01>J<00>J;<3B><01>BffCr2 <0A><>M<>K!K;<3B><01>BP<>r3 w~M<>;KFK;<3B><01>B%<25>r4W<><00>`KfKS<><19><>r; Wg<>r< f!<21>r> <0B><>W<00>K<00>K;<3B>f""<22>r?
k<EFBFBD><00>K<00>K;<3B><00>srrA<05><>;<3B><00>K;<3B>- <0B>CS4s<>P4s<> \<5C>٬LL٬4s<05>3٬0L@L٬߬<01><>4s
<05><>٬ZLeL٬G<>
Ws<0E>}<00>KL<00>L<02><>A<>
Ws"5<><00>K<01>L<00>L<02><>F
Ws<1D>,<00>K<01>L<00>L<02><>-<04><>s<11><>-<01>L<00>L<02><>m]s"<12>mMM<02><><04>,s$<12>%.M4M<02><>&<26>s&CNMTM<02><><04>ys(<12><>nMtM<02><> es*<12>k<01>M<00>M<02><>M<>s,څ<01>M<00>M<02><>{s.ql<01>M<00>M<02><><04>gs0
h<01>M<00>M<02><><18>s2V7<00>CNN<02><>ds4<05>f.N4N<02><><04><>s6D<>-NNTN<02><>Ds8M<>5nNtN<02><>"hs:]<5D>&<01>N<00>N<02><>frs<<05><><00>C<01>N<00>N<02><>%<25>s><05><00><01>N<00>N<02><>WBsB<02><00><><01>N<00>N٬WBsD<17><><00><>OO<02><>Q<>sGN<><<3C>.O4O<02><>endsIc<><<3C>NOTO<02><>mksS
G<EFBFBD>jOO<02><>A<><01><>f<04><>sV <0B>dC<01>O<00>O<02><><04><>sYp&<01>O<00>O<02><><<3C>s[`<60><00>C<01>O<00>O<02><>mats]X<><00>o<01>O<00>O<02><>dfss`߬GD<47>sa<17><> <0B>K<00>'<27>tB <0B><01>CuA<13>AKuB<13><01>uD<13><14>uE<13><01><>uG1<><31>1w<31>0<><30> uW, XRu<>l<>|<7C><01>P<00>P|<7C>Ru<>Q<>|<7C><01>P<00>P|<7C>&Ru<>;l|<7C><01>P<00>P|<7C>&&Ru<>}|<7C><01>PQ|<7C>&&&Ru]|<7C>,QFQ|<7C>&&&&Ru <01>&|<7C>`QQ|<7C>&&&&&Ru?<3F>|<7C><01>Q<00>Q|<7C>&&&&&&Ru_k|<7C><01>QR|<7C>&&&&&&&Ru' <09>|<7C>RHR|<7C>&&&&&&&&Ru0<01>$|<7C>bR<00>R|<7C>&&&&&&&&&Ru:S|<7C><01>R<00>R|<7C>&&&&&&&&&&RuE<01><>|<7C>SCS|<7C>&&&&&&&&&&&&RuO-^|<7C>]S<00>S|<7C>&&&&&&&&&&&&&&RuZD5|<7C><01>ST|<7C>&&&&&&&&&&&&&&&&MRue)<29>|<7C>3T>T|<7C>j<><00>allukSsgP[T&<00>.usXDgP<01>E<>uy<0F>`gP<01>eyeucSgPb%u<><0F><>gP<01>T<01><>$ەud$]P <0B>T<00><12>u<>¿gP<01>T&&<00>r<>u<>u<>gPU&&dotu<>@&U)U<02><><01><>t<>u<><08><>&CUNU<02><><01><>rowu<>K]PhUsU<02><>-colu<>egP<01>U<00>U<02><>-%u<>%&<26><00>T<01>U<00>U<02><>tu8dD%X<01>U<00>U<02><>ginvu<>kc%X<01>U<00>U<02><>-d<><04>Su> <0A>bPV)V<02><><01><>-mulu,pgPCVNV<02><><01><>divu2<11><>gPhVsV<02><><01><>o<>u<> <0C>!p<><01>V<00>V<02><>--o<>u<><06><>v<><01>V<00>V|<7C>--o<>u<> `<60>p<><01>V<00>V<02><>-o<>u<>s<>v<>WW|<7C>-Ru<>^>|<7C>+W@W|<7C><01><><01><>+PRu<>=<3D>|<7C>ZWoW|<7C><01><><01><>5PRu <01><>|<7C><01>W<00>W|<7C><01><><01><>?PRu̇|<7C><01>W<00>W|<7C><01><><01><>IPRu$<01>|<7C><01>W<00>W|<7C><01><>SP<00>valu<><10><>_Tp&Cm-Cn- gP1<><31> %XS}<7D> u1&<26>\DgPVecu<><01>V<00><>^XdX<02><>Vecu<>$V<00><>~X<00>X<02><>&Vecu<><01>L<00><><01>X<00>X<02><>&&Vecu<>t<><00><><01>X<00>X<02><>&&&Vecu<><01><00><><01>XY<02><>&&&&Vecu<><01><><00><>0YOY<02><>&&&&&Vecu<>J<00><>iY<00>Y<02><>&&&&&&Vecu<>EM<00><><01>Y<00>Y<02><>&&&&&&&Vecu<><01><><00><><01>YZ<02><>&&&&&&&&Vecu<> <0C><00><>2ZeZ<02><>&&&&&&&&&Vecu<><01><><00><>Z<00>Z<02><>&&&&&&&&&&Vecu<>/N<00><><01>Z[<02><>&&&&&&&&&&&&&&<00>Vecu<>w<00><>8[C[<02><>j<>Vecu<><01>f<00><>][h[<02><><01><><00>allu<>w<>/X<01>[&mulu<><0E><>/X<01>[<00>[<02><><01><><1C>uR <09></X<01>[<00>[<02><><04><>uY s/X<01>[<00>[<02><><01><>
Wu^<01>p<> \\<02><>-
Wu_
<13>v<>.\9\<02><>-o<>u`F<>p<>S\^\<02><>-o<>ua
ّv<>x\<00>\<02><>-Vecu<><01>t<00><><01>\<00>\<02><><01><><01><>+PVecu<><10><00><><01>\<00>\<02><><01><><01><>5P_Tp&Ccn- /X5<>v<> ] <0B>\v<>]Sw<53>v}<1E>^<04><>v<>#<23>w<>@]F]w<><04><>v<><01><>w<>`]z]w<>----<04><>v<><01>w<><01>]<00>]w<>Ѩ<04><>v<>e<>w<><01>]<00>]w<>B<><<3C><04><>v<><01>sw<><01>]<00>]w<>B<>B<>Cv<> <0A><>}<7D> ^^w<>Ѩtlv<> \n1^7^<02><>brv<> <0A>\nP^V^<02><>dv<> ζmp^v^<02><><04><>v<><05><>-<01>^<00>^<02><><04>v<><06><><01>^<00>^<02><>B<>dxv<> -dyv<> -G<>v<>-Gx<47>v<>- _Tp- ]S/v<12>_/vu<>d<>*_0_d<>/v  <09>d<>J_Z_d<>--dv! Z-t_z_j<>m]v"
<EFBFBD>}<01>_<00>_j<><00>allv#<12><>_G~#v% -dendv%- _S?<3F>u1&<26>dVecu<>l"3<>``3<>Vecu<><01><>3<> `+`3<>-Vecu<>Y<>3<>E`U`3<>--Vecu<><01><>3<>o`<00>`3<>---Vecu<>T<>3<><01>`<00>`3<>----Vecu<>q<>3<><01>`<00>`3<>-----Vecu<>p<>3<> a/a3<>------Vecu<> `3<>Iara3<>-------Vecu<><01>3<><01>a<00>a3<>--------Vecu<><01>K3<><01>ab3<>---------Vecu<>3<>!bYb3<>----------Vecu<>Y<>3<>sb<00>b3<>--------------<00>Vecu<><01><>3<><01>b<00>b3<>;Vecu<><01><>3<><01>b
c3<><01><><00>allu<><0E>A<00>_'c-mulu<><0E><><00>_AcLc9<><01><><1C>uR ML<00>_fclc9<><04><>u<><0E><><00>_<01>c<00>c9<><01><>
Wu <0C><><00><><01>c<00>c9<>-
Wu<06><><00><><01>c<00>c3<>-o<>u% <0C><><00><><01>cd9<>-o<>u,(<28><00><>d%d3<>-Vecu<><00>3<>?dTd3<>'<27>'<27>+PVecu<><1C>3<>nd<00>d3<>'<27>'<27>5P_Tp-Ccn- <0B>_S<><53> vC<1E>eD/X<04>xv<>_$<24><01>d<00>d$<24><04>xv<><01><>$<24><01>de$<24>&&&&<04>xv<>+<2B>$<24>e)e$<24>&<00>allv<><0E><><00>dFe&mulv<>-<00>d`epe*<2A>0<>&<1C>v<><><00>d<01>e<00>e*<2A>M<>v<>Y%<01>e<00>e*<2A>_Tp& <0B>d0F9w<><12>lF9w<><05>ST<><01>e<00>eT<>F9w<>ΓT<>ffT<>-CF9w<>kT<>-f8fT<>Z<>F9w<>t<>T<>Qf\fT<>`<60>F9w<>9<>T<>uf<00>fT<>f<>F9w<><05>T<><01>f<00>fT<>l<>F9w<>H<>T<><01>f<00>fT<>p<>F9w<>CT<><01>f<00>fT<>r<>F9w<>]T<>ggT<>x<>F9w<><05>rT<>)g4gT<>~<7E>F9w<>)<29>T<>MgXgT<><01><>F9w<>T<>qg|gT<><01><>F9w<>HMT<><01>g<00>gT<><01><><03>w<> c<><00>o<01>g<00>g<02><>-<0E><>w<> <09><><00>o<01>g<00>g<02><>-t<>w<>
)<29>͂h h<02><>-9<><39>w<>
<1B>!h,h<02><><01><>9\[w<>
<EFBFBD><EFBFBD>AhLh<02><><01><>9<><39>w<>
<EFBFBD><EFBFBD>ahlh<02><><01><><0E><>w<><12><><00><><01>h<00>h<02><>kHw<><11>b‚<01>h<00>h<02><>xw<> <09>N-<01>h<00>h<02><>Św<> <0B><>C<01>h<00>h<02><><15>w<>
<EFBFBD><EFBFBD><00><>ii<02><>o<>w<> <09><>- i&i<02><><0E>w<> <09><>-?iJi<02><>-<0E><>w<> #G-cini<02><>-<0E><>w<> <09><>-<01>i<00>i<02><>-dw<>
-I<00><><01>i<00>i<02><>-<0E>Vw<> <09><>-<01>i<00>i<02><><01><>-<1C>w<>
<e<01>ij<02><><01><><0E><>w<> <0C><>fj'j<02><>-<0E><>w<> <09>-@jKj<02><>-<0E>w<> E--djoj<02><>-<0E>Lw<> <09>Q-<01>j<00>j<02><>-<0E>w<>
d<EFBFBD><01>j<00>j<02><>-v.w<>
m<01>j<00>j<02><>-m]w<>
<EFBFBD><01>j<00>j<02><>9<>Yw<>
-ukk<02><><01><>9<>Yw<>
9R/k?k<02><><01><><01><><,w<> <0C><>fXkck<02><>-&<26>w<> <0C><>f|k<00>k<02><>-<0E>yw<>
b<EFBFBD><01>k<00>k<02><><0E>w<>
&e<01>k<00>k<02><>e<>w<>
H1<01>k<00>k<02><><0E>Ww<>
"s<01>kl<02><>Rw<>
a:l"l<02><><0E>w<>
<EFBFBD>C;lAl<02><><0E>&w<>
<EFBFBD><EFBFBD>Zl`l<02><>E9w<><05> Cyl<00>lT<>-<00><01><>w<> -<02>objw<> C<02>szw<>
<EFBFBD><EFBFBD>9<>Mw<>
]<5D><02>l<00>lT<>-&<00><02>Mw<>
<15><02>lT<>-&<01><> <0B>eSdv"n<04><>vL<>6<>*m0m6<><04><>v ڐ6<>JmZm6<>--<04><>v$t<>6<>tmm6<><<3C><04><>v(<01>S6<><01>m<00>m6<>B<>Cv2 x?H<><01>m<00>m6<><<3C><04><>v9</-<01>m<00>mN<>G<>v4 -Gx<47>v4-_Tp- m0
Av<><1E>o<04>v/q <00><>=nCn<02><><04>v3<01><00><>]nmn<02><>--<04>v7<01><><00><><01>n<00>n<02><>B<><04>v;<01>t<00><><01>n<00>n<02><><<3C><04>v?<01>r<00><><01>n<00>n<02><><01><>CvCNqŨ<01>no<02><>B<>2<>vP<01>q<00>_o!o˨dotvV<02>-;oFo˨B<>t<>v\?~&`oko˨B<><04><>vb&<01>o<00>o˨B<>{vh<01><><01>o<00>o˨Ѩ<00>xv<> -<01>yv<> -_Tp- n<00>Mat8w<38>}<00>ww<>
p#<23><><00>B<18><00><01><>@<40>ň<00><00>ww<>
Gp#<23><><00><><EFBFBD><01>D<00>W}Matw<>D<>b<>apgpb<>Matw<><05>]b<><01>p<00>pb<>---Matw<>[<5B>b<><01>p<00>pb<><01><>-Matw<05> b<><01>p<00>pb<>---m<>Matw<05><>b<>q#qb<><01><>-m<>Matw<05><>b<>=qRqb<>-;-Matw"G
b<>lq|qb<>p<>-Matw-<05><>b<><01>q<00>qb<>-;-m<>Matw7<10>b<><01>q<00>qb<>p<>-m<>MatwA <0B>b<><01>qrb<>Z<>MatwQ<05><>b<>r=rb<>---CfMatwatLb<>Wrqrb<><01><>-CfMatwp9<>b<><01>r<00>rb<>-;-Cs<>Matw~<05><>b<><01>r<00>rb<>p<>-Cs<>Matw<><05>hb<><01>r sb<>Z<>y<>y<>Matw<><05><>b<>'s7sb<>Z<><>Matw<><05>b<>Qsasb<>Z<>j<>Matw<>;<3B>b<>{s<00>sb<>Z<><01><><00>Matw<><0E><>b<><01>s<00>sb<>r<>f\w<> >C<01>s<00>sb<>-Cw<>
A<00><><01>s<00>sb<>Z<>Cw<>
<0A><00><>t tb<>`<60>t<>w<>
<EFBFBD><EFBFBD>͂:tJt<02><>-<1A>roww  <08><00>odtot<02><>-colw <09>]<00>o<01>t<00>t<02><>-<04><>w i<><00>o<01>t<00>t<02><>--<04><>w$ C<><00>o<01>t<00>t<02><>y<>/w- <09><><00>o<01>t u<02><>--/w2 <09><><00>o'u2u<02><>y<>%w? ܜ<00>oLuWu<02><>-b%wF<1A><00>osuZ<>ewM <00>o<01>u<00>u<02><><15>Yw^
<15><01>u<00>u<02><><00><15>Ywf
g<01>u<00>u<02><><00> <0A><15>8wu
6<EFBFBD><01>u
v<02><><00>-&&}<7D>w}
<EFBFBD> v0v<02><><01><>-Cw<>
QA<00><>JvUvb<>m<>5w<>
<14><00><>ovvb<> <0A> <0A><14>w<> <09>W<00>o<01>v<00>v<02><>--<14>w<> <09><><00>o<01>v<00>v<02><>--;tw<> |<00><01>v<00>v<02><>invw<> <03><00>ww<02><>-mulw<> ͠<00>5wEw<02><> <0A>&<04><>w<> <09>?<00>o_wjw<02><> <0A>dotw<> <0C><>&<01>w<00>w<02><> <0A>b.w<>bE<00><01>w---b.w<><14>J<00><01>w<01><>-b.w<>Ow<00><01>w-;-bE<62>w
<14><00>"x---bE<62>w<14><><00>Cx<01><>-bE<62>w<14>1<00>ix-;-<00>eyew%<14>=<00><01>x---<00>eyew+ز<00><01>x<01><>-<15><>wN
A <01>x<00>xb<>---<15><>wT
<EFBFBD><01>xyb<><01><>-<15><>w[
my.yb<>-;-<15><>wa
|<7C>DyTyb<>p<>-<15><>wl
)Njypyb<><15>w{
<EFBFBD><EFBFBD><01>y<00>yb<>"<22>w~
<EFBFBD>U<01>y<00>yb<><15><>w<>
<08><01>y<00>yb<>Z<><15><>w<>
Q+<01>y<00>yb<>f<15><>w<>
=^z zb<>f<15><>w<>
<EFBFBD><EFBFBD>!z1zb<>fm<>Bw<>
<EFBFBD><EFBFBD>GzRzb<>&;Bw<>
<EFBFBD><EFBFBD>hzszb<>Z<><15>w<>
)+<01>z<00>zb<>fM<>w<>
<1E><01>z<00>z<02><><01><><01><>*w<>
T<EFBFBD><00><><01>z<00>zb<>----o<>w<> <09>x<00>o{{<02><>__o<>w<> <11><00>o2{={<02><><>o<>w<> <09><><00>oW{b{<02><>j<>o<>w<> <09><><00>o|{<00>{<02><><01><><04>wS
<EFBFBD><EFBFBD><01>{<00>{<02><>v.wV
-G<01>{<00>{<02><><04>w] ̷f<01>{<00>{<02><>H<>wd C[f||<02><><04><>wk <09> -!|'|<02><><04>wz <1E>-A|G|<02><><04>Lw<> u"-a|g|<02><><04>w<> M f<01>|<00>|<02><>-m]w<>
<EFBFBD><EFBFBD><01>|<00>|<02><><04><>w<> ,Yf<01>|<00>|<02><><04>Iw<> <09>-<01>|<00>|<02><>--ptrw<> \<5C><00><>} }b<>-ptrw<><12><><00><>:}E}<02><>-ptrw<> ;<3B><00><>_}o}b<>--ptrw<>4<00><><01>}<00>}<02><>--ptrw<> <0C><><00><><01>}<00>}b<>---ptrw<><12>&<00><><01>}<00>}<02><>---ptrw<> *<2A><00><>~~b<>;ptrw<>8$<00><>6~A~<02><>;Matw<>.<2E>b<>[~f~b<><01><>Cw<>
I<00><><01>~<00>~b<><01><>G<><47>w<> -G<>w<> -G<><47>w<> -G<><47>w<>- GEdw<> <0C><>GW<47>w<><12><>w<><12><>G<>/w<><12><>GO!w<><13><> <01> <0C>w<><1A><00><><01><01>#w<><1A>x<00><><01><01><>w<><11><>Q<01><>duw<><0F><>$Gdw<> <0A><>(G&<26>w<> ϗ, <0B>oS*%<00>w* <12><>*%w- <05><><00><><01><00><02><>M*%w. hO<00><><01><00><02><>Z<>*%w0 )h<00><><01><1D><02><><01><>-Z<>Z<>Z<>&&m<><04>_w3 <05><00>o7<>=<3D><02><>dw6
V<EFBFBD><00><>W<>]<5D><02><><04><>w7 <09><>-w<>}<7D><02><>roww9 <1E><00><01><><00><><02><>-colw: <0A>r<00><01><>ǀ<02><>-%w; <0A>#<00><01><><00><><02><>-o<>w< <0A>d<00><06><16><02><>y<>y<>o<>w= <0A><00>0<>;<3B><02><><>tw? n5<00>S<>Y<><02><>invw@ Wk<00>s<>~<7E><02><>-mulwA <0A>w<00><01><><00><><02><>`<60>&mulwB v<00>ҁ<02><>Z<>&<04><>wD _<><00>o<01><><00><><02><>Z<>dotwE <0C>&<11><1C><02><>Z<>dopwG <12><>G<><47>wH -dawJ <09>odbwJ <0C>o@dcwJ <0F>oxG<>UwK &<00>G<><47>wK &<00>dswL <0C><><00> <0B><00><01><>t<> <0B><>1<><31> <0B><>1<>
 <0B><><00>oglt<> ͂1<> ‚Sh<53>0w<30><12><>h<>w<>)<00><><01><><00><02><><1A>h<>w<><05><00><><1A>4<><02><>---<1A>h<>w<>N<><00><>N<>c<><02><><01><>-<1A>h<>w<><05>l<00><>}<7D><00><><02><>---m<><1A>h<>w<><05><00><><01><>Ѓ<02><><01><>-m<><1A>h<>w<><05><00><><01><><04><02><>-;-<1A>h<>w<><05>`<00><><1E>=<3D><02><>-;-m<><1A>h<>w<>|a<00><>W<>b<><02><><01><>h<>w<>&~<00><>|<7C><00><><02><><01><>y<>y<>h<>w<>S<00><><01><><00><><02><><01><><>h<>w<><00><>Մ<00><><02><><01><>j<>h<>w<><05>a<00><><01><><0F><02><><01><><01><>,w<><05><>C)<29>4<><02><>-Cw<> YVަN<>Y<><02><><01><><03>w<> <09><><00>os<>~<7E><02><>-roww<>
_q͂<01><><00><><02><>-colw<>
8͂<01><>ȅ<02><>-<04><>w<>
<EFBFBD>͂<01><><00><><02><>--<04><>w<>
+͂ <0C><17><02><>y<>/w<>
<EFBFBD><EFBFBD>͂1<>A<><02><>--/w<>
<EFBFBD>1͂[<5B>f<><02><>y<>%w<>
<EFBFBD><EFBFBD>͂<01><><00><><02><>-b%w<>/͂<01><><01><>ew<>
<EFBFBD><EFBFBD>͂<01><>dž<02><><15>Yw<>
<EFBFBD>
݆<00><><02><><00><15>Yw<>
<EFBFBD><EFBFBD><01><><0E><02><><00> <0A><15>8w<>
<EFBFBD>$<24>><3E><02><><00>-&&}<7D>w<>
<EFBFBD>xT<>d<><02><>ަ-Cw<> <0B>(ަ~<7E><00><><02><>m<>5w<> B<>ަ<01><><00><><02><> <0A> <0A><14>w
<EFBFBD>͇͂݇<02><>--<14>w
<EFBFBD>H͂<01><> <0C><02><>--;tw
<EFBFBD>R͂$<24>*<2A><02><>invw
<EFBFBD><EFBFBD>͂D<>O<><02><>-mulw
<EFBFBD><EFBFBD>͂i<>y<><02><> <0A>&dotw <0C><>&<01><><00><><02><> <0A>b.w <11>(͂Ĉ---b.w U͂<01><><01><>-b.w d{͂ <0B>-;-bE<62>w b<>͂1<>---bE<62>w Ƴ͂R<><01><>-bE<62>w <11><>͂x<>-;-<00>eyew <11>\͂<01><>---<00>eyew <11><>͂<01><><01><>-<15><>w
<EFBFBD><EFBFBD>׉<00><><02><>---<1A><15><>w
<EFBFBD><EFBFBD><07><1C><02><><01><>-<1A><15><>w
<1B>2<>L<><02><>-;-<1A><15><>w
7b<>w<><02><>p<>-<1A><15><>w
<EFBFBD><EFBFBD><01><><00><><02><><15>w#
3<01><><00><><02><>"<22>w&
~qŊˊ<02><><15><>w(
<EFBFBD><01><><00><><02><><01><>M<>w+
!<21><02><12><02><><01><><01><>*w- <0B><>ަ,<2C>F<><02><>----o<>w0
<EFBFBD>l͂`<60>p<><02><>__o<>w1
<EFBFBD><EFBFBD>͂<01><><00><><02><><>o<>w2
<0E>͂<01><><00><><02><>j<>o<>w3
!<21>͂ԋߋ<02><><01><><04>w8
<EFBFBD>R<01><><00><><02><>v.w;
<EFBFBD>)<19><1F><02><><04>w? <0C>Of9<>?<3F><02><>H<>wA g<>fY<>_<><02><><04><>wC <09>K-y<><><02><><04>wE D-<01><><00><><02><><04>LwG U<>-<01><><00><><02><><04>wI K<>fٌ<00><><02><>-m]wK
<EFBFBD>s<01><><04><02><><04><>wM Rf<1E>$<24><02><><04>IwP I<>-><3E>S<><02><>--h<>wS `e<00><>m<>x<><02><><01><>CwT ަ<01><><00><><02><><01><><04><>wW ˨C<01><><02><>-<15><>wX
%<25>؍<00><><02><>F<>G<><47>wc -G<>we -G<><47>wg -G<><47>wg - GO!wj <13><>wk <1A><01> <0C>wm <1A>[<00><>duwp <0F><>G<,ws fGdwu <0A><> G&<26>wv ϗ$ ͂xv;<10><>2<>v7mS<>$w <15>D<>e<04>$wZ<><00><>َߎ<02><><04>$wv<00><><01><> <09><02><>-C<04>$w<05><00><>#<23>.<2E><02><><01><><04>$w]<5D><00><>H<>S<><02><><01><><04>$w <05><><00><>m<>x<><02><>Ʀ<04>$w!HG<00><><01><><00><><02><><01><><04>$w"<05><><00><><01><><02><>̦<04>$w#c<<00><>܏<00><><02><>Ҧ<04>$w&<05>o<00><><01> <0C><02><>ئ<04>$w,h<><00><>&<26>1<><02><>ަ<04>$w-<05>9<00><>K<>V<><02><><01><><04>$w/"<22><00><>p<>{<7B><02><>Z<><04>$w0ͦ<00><><01><><00><><02><>f<><04>$w1<05><><00><><01><>Ő<02><>r<><04>$w2<05><><00><>ߐ<00><><02><>x<><04>$w3f<00><><04><0F><02><>~<7E><04>$w4<05><><00><>)<29>4<><02><><01><><04>$w<<05><00><>N<>Y<><02><><01><><04>$w=-<2D><00><>s<>~<7E><02><><01><>sw?
<13><01><><00><><02><>҇w@
VH<01><><00><><02><>%pwA
Z<EFBFBD>ؑޑ<02><>aNwB
<EFBFBD><EFBFBD><00><><01><><03><02><>-
wC % ަ<1D>(<28><02><>-d<>wD<13> ƦB<>H<><02><> gwE <10><00><>b<>h<><02><><04><>wF<12>5̦<01><><00><><02><>+<2B>wG<14>PҦ<01><><00><><02><><15><>wH
<EFBFBD><EFBFBD><01><>ݒ<02><><01><>---<15><>wI
m<EFBFBD><01><><17><02><>-----<15><>wJ
<00>-<2D>Q<><02><>-;---wwK
9<EFBFBD>g<>w<><02><><01><>-<15>wL
<EFBFBD><EFBFBD><01><><00><><02><><15><>wM
<EFBFBD>7<01><><00><><02><>5wN
'<27>œՓ<02><><01><><01><>nAwP
<EFBFBD><EFBFBD><01><><00><><02><><01><><00>nAwQ
U<EFBFBD> <09><02><>Z<> <0B><><00><01><>ww<>P<><06>]xH9<06><># N<00><><EFBFBD><1D><>4w<34><13><><03><>w<><05><><00><>w<><00><><02><><01><>Z2w<>0<>C<00><><00><><02><>-"<22>Hw<>
<1A><00><><00><><02><>"N<>w<>
3<EFBFBD>֔ܔ<02><>a<>w<>
<04><00><><00><><02><>.w<>
%<25><14><1A><02><><03><>w<>
<EFBFBD><EFBFBD>3<>9<><02><><03>qw<>
<EFBFBD>;R<>X<><02><>_<>w<>
9q<>w<><02><>^<5E>w<>
2<00><><00><><02><>"<22><>w<>
<EFBFBD><EFBFBD><00><><00><><02><>"<22><>w<>
<EFBFBD><EFBFBD>˕֕<02><>"<22>Xw<>
<1D><00><><00><><02><><19><>w<><19><><19><>w<><19><><19><>w<> -<1D>w<> - Edw<> <0C><>g<>w<> <0C><>dw<> f<19><>w<> -<19><>w<> C L w<> C$lw<> -(<19>?w<> -,<19><>w<><0F><>0 P<>1<1B> <0B><>8Lwʗ<00>8Lw <0E>t<02><00><><00><><02><01><>o<>w

<EFBFBD><00><><08><0E> <0A>
Ww Gi<00><>'<27>2<> <0A>-
Ww 
<EFBFBD> <00><>K<>V<><02>-
<EFBFBD>w j<>;o<>u<> <0A><03>w
9<EFBFBD><00><><00><> <0A><18><03><>w
$/<00><><00><> <0A><18>tpw
<EFBFBD><EFBFBD> <0B><><1D>( w<13><><03>(w6<1E><00><><00><><1E><00><01>(w<0E>5<1E><16>!<21><1E>f
Ww3<>)<29>:<3A>E<>/<2F>-
Ww h:<3A>^<5E>i<><1E>-<03>6w<05><>f<00><><00><>/<2F>Cwg:@<40><00><><00><><1E>ftpw F<>tbufwL<><04>Cw կ@<40>ݘ<1E>\<5C> ϗ<1F><>v^<19>d <0B><><1F>$w}<1D><>G9w{<1C><> <0C>v<>&<26> <0C>v<>n1-<2D> 2<>S<><53>,sj<12><><00><02> s<> ˙Y s<>-tseqs<>C<19>7s<>Ctptrs<><14><> #<23>s<><14><><19>cs<><14><>m s<>-<19><>s<><14><><04><>sr <0B><00><><01><><00><><02><><04><>sy<14><00><><05><1A><02><>߬<01><>f<04><>s~<05><><00><>4<>?<3F><02><><03>WBs<>\<5C><00>KY<>_<> <09><16>s<><0E><><00>Ky<><> <09><04><>s<><17><><0F><01><><00><><02><><04><>s<><02><<3C><01><>Ě<02><>-N<>s<><0F>ޚ<00><><02><>N<>s<><16> <<3C><01><> <09><02><>-P<>s<>O<><0F>#<23>.<2E><02><>- <0B>s<>L<0F>H<>S<><02><>-mks<><17><><0F>m<><00><><02><>A<><01><>fdfss<>߬G<><47>s<><17><>G<><47>s<>J<>G]s<> f( <<3C>0<><30>uW,|<7C>Ru<>r(<15><01><><00><><15>Ru<> (<15>
<EFBFBD><15><15>-Ru<>
<EFBFBD><15>/<2F>?<3F><15>--Ru<>1<15>Y<>n<><15>---Ru[<15><01><><00><><15>----Ru `e<15><01><>ۜ<15>-----Ru <15><01><><19><15>------Ru]/<15>3<>\<5C><15>-------Ru'<01>i<15>v<><00><><15>--------Ru0f<><15><01><><00><><15>---------Ru:2<15> <0B>C<><15>----------RuE<01><><15>]<5D><00><><15>------------RuO<13><15><01><><05><15>--------------RuZ<01><15><1F>u<><15>----------------MRue/<15><01><><00><><15>;<00>allukԳÛ<01><>-<00>.us<0F><>Û<01>E<>uy<0F><>Û<01>eyeu<04>Ûb%u<><0F><>Û <0C><1B>$ەud$<24><> <0C><00><12>u<>4Û?<3F>--<00>r<>u<><11>Û`<60>--dotu<><05>-z<><00><>!<21>'<27>t<>u<>U&<01><><00><>!<21>'<27>rowu<><11>X<00><>ĠϠ!<21>-colu<>Û<01><><00><>!<21>-%u<>%<25><> <0C><0E><14>!<21>tu8+<2B><00><>,<2C>2<>!<21>ginvu<><15><><00><>K<>[<5B>!<21>-d<><04>Su> ƥ<00><>u<><00><>!<21><01><>-mulu,<04>Û<01><><00><>!<21>'<27>divu23<>Ûġϡ!<21>'<27>o<>u<> s<><00><><01><><00><>!<21>--o<>u<><06>*<00><><13>#<23><15>--o<>u<> <0C>K<00><>=<3D>H<>!<21>-o<>u<>lb<00><>b<>m<><15>-Ru<><01><><15><01><><00><><15>'<27>'<27>+PRu<><01><15><01><>ˢ<15>'<27>'<27>5PRu <00><15><01><><00><><15>'<27>'<27>?PRu<01>(<15><14>)<29><15>'<27>'<27>IPRu$<01><15>C<>S<><15>-<2D>SP<00>valu<>_Tp-Cm-Cn- Û1<>[1<>] <0B><>1S<31><00>a<>u<> <0B>k<>x= J<1D><00>?rz<00>absVE -Σ-(<28>oy<><01>>&<00><>&mexpyDX<>&<02>&mpowy<><01><>&!<21>&&mlogy<><01>&&;<3B>&<04>C
<04>K
P
<04>C<04>K<04> Y<><04>
<04>
&gP
<04>T X
 X
<04>\
*XZ&<00><>_w/X<04>\^<5E>*<2A>Y<>
*<2A>
Y<>
<04><>)<29>
)<29>.<2E><1F>
<04><>$<24>
<1F>Q<>
<04><>V<>Q<>
̊
/<2F>/<2F>
̊<04><>
 <0A> <0A>
<04><>_<04>_
<04><><06>
z<>-z<>
-
a<04><>
]<5D>
<04><>
<04><>
<04><>
7<>
C<>v<>
I<>2=<3D>
v<>
=<3D>i<>f<>
<04><>2i<><12>
<04><>
*<2A>2<12>
<12><04><>2<1C><04>d<04>e
<04>em
n
<04>o
mn<04>e
}
<04><>
H<>
w<>
<04><>
J<>
ǂ
<04><>
<04><>
<1D><04>l
z<>
O<>
|<7C>
<04>l
<15><04><>
<04>o
<04><>
‚
<04><>
M<>
͂<15>P<><04><><04><><04><04><> <02>ʗ <0A>
ʗϗ <1E>
r<04><> /<2F>
f
ϗfZf\<5C>_w
<04><><04>o b<>
<04><>r
<04>_
]
<04><>} <0B><>
<04><>
<1A><04>2<04>o<04><>͂<04><>2͂<04><> Ƨ
Y<04> קY <0B><>
<04>
<04><04><> <0B><>
m<>
<04><>
<04><>
<04><>

"<04><> (<28>
y<>2m<>
<04><>
m<>y<> K<><04><> V<>
<04><>2y<><04><> m<>
9<>
<04><>
<04><>2<04><>
<04><><04><> <0B><>2<04><><04>7<><04><>n
<04>d
n<04>o
<04>^<04>
88<04><>
Z<>
<04><>
<04><>
<04><>
<04>
s<>
F<>2:<3A>
s<>
:<3A>f<>c<>
<04><>2f<>z<>
<18>
<04><>2z<>H<>2<04><>a
<04><04>w<>
<04><>
/<2F>
<<3C>
w<>
<04>
<04><08>
<04><>2<04><>
<08>
<04><><04><><04><>
(<28>2<04><>O<>
<04><>
g<>2O<><1D>2Y<><04>
r
r
 <0C>
<04><>
<04><>
<04><>
 <0C>\ 
<04> <04><04> 
<04><04>
<04><04><>
<04><>
;<3B>
H<>
<04><><04><>2<04><><04><>
m<>2<04><>[<5B>
`<60><04><><05>
<04><>2<04><>w<>M<>
<04><>2M<><04> 
<04><><04><>
<EFBFBD>
<04><>
<04><>
<04><>

<EFBFBD>
<04>
<04><04><>
n<>2b<>
<04><>
b<><04><><04><>
<04><>2<04><>|<7C>
<1A>
<04><>2|<7C>J<>2<04><>]
]<04>^@
<04><04>
_<04><>
<17>
W<>
d<>
<04><>
q
}0<>
<03>2<04><>
0<>
<04><>#<23> <20>
P<>2#<23>"<22>
<04><>
:<3A>2"<22>
"<22><04><>2,<2C> <0C>Cs\<<3C> +<2B>n<>C 4s]R<> A<> 4z<>٬<00>z<><05><><00>fz<>&<00>iz<> -<00>strz<><12><><00>seqz<>A<><00>mapz<>ϱttagz<> -<19>Gz<>p<>Edz<>`<60><04>K7<>M<>PA<><04><<3C>
<04><><04><>
<<3C>Û
<19>|<7C>
|<7C>
<04><><04>_<04>d<04> &Y{&<1B> <0C><>|0]<5D>JE<>A{<7B> -~<7E><01>0E<>Ej<45>|7<0F>0<00><><01>0Q<>El<45>|4Q<><00><>FE<>A{<7B>E<>ŭF
<04>
U
r<07><>
5<07>f~<04> <0B><>U<03>U<03>3U<03>:<00><07>P}' .}+M}.<0E>}3 <0C>}4 <0C>}6 <0C><>}6 D<>}6 ^<5E>}6 x<>}6 <0C><>}6 <0C><>}7 h}8 ~}9 <0C>}: <0C>}< ;<3B>}< <0C>}< !}> <0C>}@
}C &}D B}E i}G <0C>}H <0C>}J <0C>}K <0C>}L }M $}N D}P [}Q <0C>&C<1D>Hz<>X<><19><>z<>X<><19><>z<>X<>-<2D><1F>Hz<>-<2D> z<>ί<19><>z<> -<19><>z<>ίttopz<>ίd<>z<>ԯ H-z<> -<z<> -^<5E>k<> z<>k<><1D><>z<><<3C><19><>z<><<3C><19><>z<><<3C>sz<>
-<19>z<> - Edz<> <0C><><04><><1F><>z<><01><><16>8z<38>"<22><19><>z<>-Y z<>-<19><>z<>"<22>jlz<>"<22> <19>z<>"<22><19>z<>"<22><19><>z<>-\*z<>-<19>cz<><05><> tptrz<><05><>$&z<>-(?iz<>(<28>,<<3C>z<>.<2E>0{<7B>z<>.<2E>4O<>گB<><16>z<>O<>4<>uCz<>r<><19>z<>P4<19><>z<>r<>G<>uCz<>G<><1D>4z<><10><>tlenz<> -tptrz<> W<1F>4z<><01><>5z<>ʱn3<04><>$(zp<><19><>z -Y z -<19><>zp<><19><>z p<> <13>z
F0z v<><19>z <13><><19>z <10><>Oz<11><> ez<10>$ձ<1F><>z<><18><><04><>-<00><>&<1F> z<><19><><04><>)<29><>'<27><1F><>z<>òɲCݲݲ<01><>+<2B><1F> z<><19><><04><>)<10>ݲF&x<><07>z<><1D>#<23>C2<>&<00>A<>jHQEP jN&Z<>]]ET&jR]p<>p<>y6E <0A>jK]<00><><01><>]E
j<>W<00><>s6E j<>W<00><><01><>iE|2jwp<>ڳ<01><>E<1B>j{p<><00><><01><>sA<73><00>sP<73> <04>s<><73><00><04><00><01><> ʚ;v<07><><00><07><00>` F<>


`
 ]<5D>
 
<04>k<><00><07><><00><07><>=<07><>K <0C><00><12><00>h<>z(<28><00>@<40><00>
<04>

j
 

  <0B><>
<04> 
 <04>  <0B><>
<04>  <i<>J0"y<07><><00>m<><00>e<00><07>)<07>2<07>f<00><07>-<00>@m<00><07>=<00>k<>(R<> 
<EFBFBD>VQ<07><>`<00><01><00><00><04>\<07><04>  ȵ
<04>
<04> <04> ߵ
z<00><01><>T@B<04><02><00>/y<00>
<04>
<04> (<28>
<04>
<04><04><04>'<00>V<00>j<00>~<00><01><04>=<04><00><01><04><00>:w
<04>
w
<04><04><04> <0B><>
<04>
\!2<04><04>\!<04>! Զ<04>! ߶
&2<04>!
<04>!& <0B><><04>(1) <0A>$ <18><04>* #<23>
1)
<04>+2<04>*
<04>(
<04>*
<04>+
<04>,<04>+ X<>2<04>+<04>, i<>
<1E>
.2<04>,
<18>
<04>,
 .
<04>/
Z.
f. . <0B><>2 .<04>/ <0B><>
<04>02<04>/
<04>/[) ط
<04>)<04>*
$& <0B><>2D)2&
&<04>(
t'
<04>'
<04>(z<>11
]9
1b9]9g9
-1l9
<04>=
l9<04>=<04>=<04>='<27>;<07><00>=<04>=
<04>E
<04>=<04>E<04>E<04>E
<04>=<04>E
6G
<04>E;G<07>BGO.MG@G
<04>O
@G<04>O<04>O<04>O
\G<04>O
<04>P
<04>O<04>PJ<><00>P<07>*<00>P<04>P
6Y
<04>P;Y6Y@Y
QEY
<04>Z
EY<04>Z<07>mqZ<07><><00>Z<04>Z
<04>b
<04>Z<04>b<04>b<04>b
<04>Z<04>b
4d
<04>b9d<07>9d<07><>Kd>d
<04>l
>d<04>l<04>l<04>l
Zd<04>l
<04>m
<04>l<04>m<07><00>m<07>$<00>m<04>m
4v
<04>m9v4v>v
nCv
<04>w
Cv<04>w<07><>ow[<5B><00>w<04>w
<04>
<04>w<04><04><04>
<04>w<04>
2<>
<04>7<><19><07><>I<><<3C>
<04><>
<<3C><04><><04><><04><>
X<><04><>
܊
<04><><04><><07>Ê<07><00><><04><>
2<>
<04><>7<>2<><<3C>
<02>A<>
<04><>
A<><04><>ʙm<><07><00><><04><>
ܜ
<04><><04><>ܜ<04><>
<04><><04><>
0<>
<04><>5<>#b<17>7G<>:<3A>
<04><>
:<3A><04><><04><><04><>
V<><04><>
ڧ
<04><>ߧ<07><><00><><07><00><><04><>
0<>
<04><>5<>0<>:<3A>
<00>?<3F>
<04><>
?<3F><04><><07>k<><07>%<00><><04><>
ڹ
<04><>߹ڹ<04><>
<04><><04><>
.<2E>
<04><>3<>><3E><15>,E<>8<>
<04><>
8<><04><><04><><04><>
T<><04><>
<04><>
<04><><04><>U2<00><><00><02><><03><> <0C>8~/ - .<2E> &Y~3<13> ?<3F> <0C>~6 P<> <0C>9<19> a<> <0C><>:<19> r<> ޤ;& <0B><> <0C><><5 <0B><> `<60>=& <0B><> /Y?.<2E><00>AJC004D<07><>0wE<07><>0c9F <0B>0<><30>G <20>0<>%H5<>D <0B>0<><30>IJ<>D <0B>0O*J_<>D <0B>0|<7C>Kt<>D <0B>L<07><>D <0B>0V<30>M<07><>D <0B>0<>N<07><>D <0B>0<><30>OȾD <0B>PݾD <0B> BJR<13><>½ 14S<12><>̽ xT <0A><04><> d9U<1F><04><> <0C><>V1<> <0B> <0C>%WC<> <20> <0C><>XU<>5<> P*Yg<>J<> }<7D>Zy<>_<> Ÿ[<15><>t<> W<>\<16><><04><> <0C>]<17><><04><> <0C><>^<18><><04><> ֊_ӿȾ C<>vݾ<00>ŰxW<><00>zya<><00>bzP<><00>c{r<><00>s|<0E><><00>i}.<2E><00>j~?<3F><00>f<0E><><00>d<><0E><><00>l<>ݾ Ű<><03><> W<> !<21><>t<>z<>n <20> q1<><1C><><04><>np1w<15>w<><0E><> <0A><06>3<06><><06><> @j<><03><> <><10><><02> <18><> W <0A><><> W z<><> C <0C><><><03><> <02> <0C>3<><1F>1<><08><>9['<27><1B>
<EFBFBD>I.<2E>T<>Z<><02>}3 v=<00><>s<><00><><02>Fݾ<16><01><><03> p<><00><><00><><00><><02>F- !<0F>+<><00><><00><><02>ݾ<03><>$<18>h<><00><><00><><02>ݾÊ( <0A>Oݾ<12>'<27><02><01><><>a<>[C, z<00><>@<40>K<><02><01><>*/<0E>sa<>d<>t<><02><01><><01><>^;3 <0A><>ݾ<00><><00><><02><01><>h<>a<>D<>7
b.<2E><00><><00><><02><01>Jg:
<EFBFBD>1.<2E><00><><00><><02><01><>F<03> = <09><01><08><0E><02>".q@
ީ#<23>)<29><02>"0<>C
Vv><3E>D<><02>""<22>F
<EFBFBD>;Y<>d<><02>FJ3J
<EFBFBD>U.<2E>}<7D><00><><02>.<2E><11>M <0A><>ݾ<00><><00><><02>ݾ<03>[Q <0A>ݾ<00><><00><><02>ݾT
W<00><><00><><02>ݾ"<22><>W
<EFBFBD>[<05><10><02>ݾe<>[<0E>Ca<>)<29>9<><02>ݾݾ<03><>_ <0A><>ݾR<>]<5D><02>ݾʲb
<EFBFBD>K.<2E>v<><00><><02>.<2E>U<>f 7<>ݾ<00><><00><><02><01><>(<28>i <0A>ݾ<00><><00><><02><01><><>+iq <0A><>ݾ<00><><00><><02><01><><>/?u <0A> ݾ<16>+<2B><02><01><><>K<>:gz <0B><00><>D<>O<><02>ݾW\}K<>a<>h<>x<><02>ݾ<01><>98<>C<><><00><><00><><02><01><>FF&<> <0A><>ݾ<00><><00><><02>ݾ<>+<03><><> <0A>Yݾ<00><><00><><02>ݾ<>/?<03><><> !ݾ<17>,<2C><02>ݾ<>K<><><0E>Da<>E<>V<><02>ݾ<>+<03><><>><3E>a<>o<><00><><02>ݾ<>/?+<2B><>o<>a<><00><><00><><02>ݾ<>K<>+<2B><> <0B>wP<><00><><00><><02>ݾ<>+<03>W<> R<>P<><00><>
<EFBFBD><02>ݾ<>/?<03>V<> <0B>P<>#<23>8<><02>ݾ<>K<> <<> <0B><>r<>Q<>b<><02>ݾ<>+!<21><> PHr<>{<7B><00><><02>ݾ<>/?d<><> <0B>Ar<><00><><00><><02>ݾ<>K<>)<29><> N5<00><><00><><00><><02>ݾ<>+"<22><> <0C><><00><><01><16><02>ݾ<>/?]<5D><> O$<00><>/<2F>D<><02>ݾ<>K<>g<>
<EFBFBD><EFBFBD>.<2E>]<5D>n<><02>ݾ<>+Y_<>
<EFBFBD>.<2E><00><><00><><02>ݾ<>/?<03>^<>
<EFBFBD><EFBFBD>.<2E><00><><00><><02>ݾ<>K<><03><><> <06>?<3F><00><><00><><02>ݾ<>+<03>_<> <0B>S?<3F> <0A>"<22><02>ݾ<>/?<19><>
?<3F>;<3B>P<><02>ݾ<>K<><03><><> d<><00><>i<>z<><02>ݾ<>+<01> <0C>_<00><><00><><00><><02>ݾ<>/?{<7B>
 <0C><><00><><00><><00><><02>ݾ<>K<>HZ <00><><00><><00><02>ݾ<>+<03>7 <0A>)<00><><19>.<2E><02>ݾ<>/?T7 A<00><>G<>\<5C><02>ݾ<>K<>"<22>\ 
<EFBFBD><EFBFBD>q<><00><><02>ݾ<>+"<22>8&
<EFBFBD>7<00><><00><><02>ݾ<>/?"E8*
<EFBFBD><00><><00><><02>ݾ<>K<><03>/ <0A> ݾ<00><><05><02>ݾ<01><><>+*<2A>9 <0A>nݾ<1E>8<><02>ݾ<01><><>/?<03><>> 5ݾQ<>k<><02>ݾ<01><><>K<>:]D<0E>a<><00><><00><><02>ݾ<01><><>+<03> NEda<><00><><00><><02>ݾ<01><><>/?) S<0E>ha<><00><><00><02>ݾ<01><><>K<>zgY \+P<><19>/<2F><02>ݾ<01><><>+<03>4c <0B><>P<>H<>b<><02>ݾ<01><><>/?2<>h <0B>PP<>{<7B><00><><02>ݾ<01><><>K<><03><>n <0B><>r<><00><><00><><02>ݾ<01><><>+<03>Nx SSr<><00><><00><><02>ݾ<01><><>/?s<>} #ar<><10>*<2A><02>ݾ<01><><>K<><03><><> <0C><><00><>C<>Y<><02>ݾ<01><><>+<0F><> <0C>8<00><>r<><00><><02>ݾ<01><><>/?s<><> o$<00><><00><><00><><02>ݾ<01><><>K<>V<><>
<EFBFBD>D.<2E><00><><00><><02>ݾ<01><><>+d <>
<EFBFBD>+.<2E><07>!<21><02>ݾ<01><><>/?<03><>
)Z.<2E>:<3A>T<><02>ݾ<01><><>K<><03>j<> <0B>-?<3F>m<><00><><02>ݾ<01><><>+j<> <0B>8?<3F><00><><00><><02>ݾ<01><><>/?U<><> Z<>?<3F><00><><00><><02>ݾ<01><><>K<><03>(<> <00><><02><18><02>ݾ<01><><>+<03>W<> N<><00><>1<>K<><02>ݾ<01><><>/?<03>V<> <0C><00><>d<>~<7E><02>ݾ<01><><>K<> <0A><> s<><00><><00><><00><><02>ݾ<01><><>+<03>}<> <0A><><00><><00><><00><><02>ݾ<01><><>/?<03>8<> <0A>{<00><><00><><13><02>ݾ<01><><>K<>"b<><>
<EFBFBD><EFBFBD>(<28>><3E><02>ݾ<01><><>+"<22> <>
<<3C>S<>m<><02>ݾ<01><><>/?" <>
X<EFBFBD><00><><00><><02>ݾ<01><><>K<><03><><0E>nh<><00><><00><><02><01><>FF<03>. ;ݾ<00><><00><><02>ݾh<><00>
<0E>Aa<> <0C><1C><02>ݾh<> <0A>  )VP<>5<>E<><02>ݾh<> <0B> <14>r<>^<5E>n<><02>ݾh<>t r<><00><><00><><00><><02>ݾh<><03>r
<EFBFBD>t.<2E><00><><00><><02>ݾh<>Vs <0B>h?<3F><00><><00><><02>ݾh<><03><> p<00><><02><12><02>ݾh<><03>- LJ<00><>+<2B>;<3B><02>ݾh<>"<22>F#
<1D>P<>e<><02>ݾh<>ݾ"<22>I&
<EFBFBD>Jz<><00><><02>ݾh<>a<>"W<>*
D<00><><00><><02>ݾh<>P<>"6`.
<EFBFBD>H<00><><00><><02>ݾh<>r<>"<22><>2
<EFBFBD>W<00><> <0A><02>ݾh<><01><>"<22>6
߫"<22>7<><02>ݾh<>.<2E>"<22>7:
<EFBFBD>=L<>a<><02>ݾh<>?<3F>"S<>>
l<EFBFBD>v<><00><><02>ݾh<><01><>"[UB
<EFBFBD><EFBFBD><00><><00><><02>ݾh<><01><><03>yG<0F><><><00><><00><><02><01><>FF<1D>L <0A><>ݾ<00><> <0A><02><01><><>+<03><>U <1D>ݾ&<26>;<3B><02><01><><>/?i<>Y ,mݾT<>i<><02><01><><>K<><03>^<0E><>a<><00><><00><><02><01><><>+,Pg<0E>,a<><00><><00><><02><01><><>/?<03>}kȍa<><00><><00><><02><01><><>K<>0-p <0B>P<><08><19><02><01><><>+~jy 7P<>2<>G<><02><01><><>/?<03>i} <0B>P<>`<60>u<><02><01><><>K<>V<> v<>r<><00><><00><><02><01><><>+<10><> Оr<><00><><00><><02><01><><>/?G<><> r<><00><><00><><02><01><><>K<><03><> <19><00><><14>%<25><02><01><><>+F <> <0C><><00><>><3E>S<><02><01><><>/?<03><> q<><00><>l<><00><><02><01><><>K<>g<>
<EFBFBD>^.<2E><00><><00><><02><01><><>+<03>?<>
<EFBFBD>s.<2E><00><><00><><02><01><><>/?%z<>
͍.<2E><00><><07><02><01><><>K<><03><><> Z<>?<3F> <20>1<><02><01><><>+o<><> &E?<3F>J<>_<><02><01><><>/?<03><><> <0B><>?<3F>x<><00><><02><01><><>K<>B<><> <0C><><00><><00><><00><><02><01><><>+<03><><> <0C><><00><><00><><00><><02><01><><>/?J<><> <0C><><00><><00><><13><02><01><><>K<><03><><> <08><00><>,<2C>=<3D><02><01><><>+J3<> Mc<00><>V<>k<><02><01><><>/?|2<> g<><00><><00><><00><><02><01><><>K<>"{g<>
[h<00><><00><><02><01><><>+"\O<>
6<EFBFBD><00><><00><><02><01><><>/?"<22>M<>
<EFBFBD><EFBFBD><00><><13><02><01><><>K<>1)<>U<>h<>,<2C>A<><02><01><>FF<03>S <09>ݾZ<>j<><02><01><>h<><><0E><>a<><00><><00><><02><01><>h<><03><> <0B><>P<><00><><00><><02><01><>h<>
\
 <0B><>r<><00><><00><><02><01><>h<><03>n  <0C><><00><><00><><0E><02><01><>h<><03><>
<EFBFBD><EFBFBD>.<2E>'<27>7<><02><01><>h<><1B> I?<3F>P<>`<60><02><01><>h<>z  W<><00><>y<><00><><02><01><>h<><03>V <0A><><00><><00><><00><><02><01><>h<>"<22><>
J<00><><00><><02><01><>h<>ݾ"<22>V!
m<00><><06><02><01><>h<>a<>"<15>%
<EFBFBD>z<1B>0<><02><01><>h<>P<>"Me)
[<5B>E<>Z<><02><01><>h<>r<>"l<>-
<EFBFBD>|o<><00><><02><01><>h<><01><>"k<>1
}<00><><00><><02><01><>h<>.<2E>"o5
<EFBFBD><EFBFBD><00><><00><><02><01><>h<>?<3F>"Z9
<EFBFBD>i<00><><02><02><01><>h<><01><>"E=
E<EFBFBD><17>,<2C><02><01><>h<><01><>{<7B>B <0A><><13>E<>U<><02><01> <01><>BE <0B><><00><>n<>y<><02><13><03>H<12><><00> <00><><00><><02><13><01> "*<2A>K
 <00><><00><><02><13><01> ןO I<><13><00><><00><><02>Fw<>R A9<00><><04><0F><02><13>ćU<11><>F(<28>8<><02><13><01> "x<>X
RBM<>]<5D><02><13>F<1A>\ |<7C><00><>v<><00><><02>%<25><03><>`4<>ǿ<00><><00><><02><01><><01><>ݾY4d <0A><>ݾ<00><><00><><02>ǿ<01><>"<22><>g
<EFBFBD>$<00><><02><02>ǿ<01><>ݾʐl<13>h7<><1B>&<26><02><01><>T:o<10><>I<>?<3F>J<><02><01><>g<>r [<5B>c<>n<><02><01><>ru<11>m<><00><><00><><02><01><>?<3F>x|-<><00><><00><><02><01><><03>w{<10><><00><><00><><00><><02><01><>LJ~. <00><><00><><00><><02><01><><03><><>p<<00><><17>"<22><02><01><>5C<><02><00> ;<3B>K<><02>7<><01> oR<> <0A><00> d<>t<><02>I<><01> <03><><> <0A><><00> <00><><00><><02>[<5B><01> ȭ<><16>" <00><><00><><02>m<><01> <03> <> <0C>BG <00><><00><><02><><01> j'<> &<26>l <08><18><02><01><><01> <03><><><0E> <00> 1<>A<><02><01><><01> <03><><><0F>Z<00> Z<>j<><02><01><><01> " <09><>
<EFBFBD>F<><00><><02>7<><01> .<2E>"<22>G<>
<EFBFBD><EFBFBD><00><><00><><02>I<><01> .<2E>"+<2B><>
#<23><00><><00><><02>[<5B><01> .<2E>"]<5D><>
<EFBFBD><EFBFBD><00><><12><02>m<>" .<2E>"<22>p<>
@'<27><<3C><02><>G .<2E>"'<>
l9Q<>f<><02><01><>l .<2E>"<19><>
KP{<7B><00><><02><01><><01> .<2E>"<>
I<00><><00><><02><01><><01> .<2E>"<22><>
'<00><><00><><02>7<><01><><01><><01> "<22>(<>
R<00><><18><02>I<><01><><01><><01> "<22><>
Z<EFBFBD>-<2D>G<><02>[<5B><01><><01><><01> "0<><>
<EFBFBD><EFBFBD>\<5C>v<><02>m<><01><><01><>" "<22>H<>
i<EFBFBD><00><><00><><02><><01><><01><>G "<22>'<>
t<EFBFBD><00><><00><><02><01><><01><><01><>l "'!<>
<EFBFBD><EFBFBD><00><><03><02><01><><01><><01><><01> "<22><>
ľ<18>2<><02><01><><01><><01><><01> "N <>
<0B>G<>a<><02>7<><01><><01><> "<22>8<>
Lv<><00><><02>I<><01><><01><><16>"<22><><>
<EFBFBD><00><><00><><02>[<5B><01><><01><><01> "<22><><>
hT<00><><00><><02>m<><01><><01><>~"
3<>
qQ<03><1D><02><><01><><01><><01>"+<2B><>
<EFBFBD>?2<>L<><02><01><><01><><01><><01>"<22><>
=Ta<>{<7B><02><01><><01><><01><><01>"<22>]
<EFBFBD><EFBFBD><00><><00><><02><01><><01><><01><>*=<3D> 
o<EFBFBD>.<2E><00><><00><><02><01><>T.<2E><11> 
<14>.<2E><00><><00><><02><01><>m<>
<EFBFBD><EFBFBD>.<2E><15> <20><02>ݾ<03><>
<EFBFBD>k.<2E>9<>D<><02>ݾwL
.<2E>]<5D>h<><02><01>"g<>
|g}<7D><00><><02><13><01><><01><><01> "<22>S
;!<00><><00><><02><13><01><><01><>W=<3D># &C<00><><00><><02>%<25><01> "<22><>&
J<04><19><02>%<25>C.<2E>r<>*<13><><00> 2<>B<><02><13><01> "<22><>-
B#W<>g<><02><13><01> <03><>1 <0B>Gٿ<00><><00><><02>ݾ"<22>@4
a<EFBFBD><00><><00><><02>ٿ<03><>8<0E>a<><00><><00><><02>@Y< <0A>Hݾ<00><><00><><02>C?<3F><03>:? ><3E>C <0C><17><02>ݾnB <0B><>?<3F>0<>;<3B><02>ݾXE<14><00><>T<>_<><02>ݾ<00><01>aK 4ݾu<><02><01><> zL<><11><>}`<60>9[~'<27><08><>
{.<2E><00><><00><><02>cy<>
<EFBFBD><EFBFBD>.<2E><00><><00><><02>'<27>C<03>$<>
<EFBFBD>L.<2E>
<EFBFBD><10><02><03><>
.<2E>)<29>9<><02>'<27>.<2E><00>ۭ<>
I1.<2E>O<><02>'<27>C<00> /<00><><08><> [<5B><> C 1<><> C ~<7E><> C ;<3B><> C <1B><>+<2B><> }3<><1C> <0A><>%6<> - <>#P<> <0A><><>"j<> Ê<>F<EFBFBD><46>$ [C<><1F><>( *<>+<2B><>, ^;<>D<EFBFBD><44>0 D<><>#<05>4 Jg<>2$<24>8 <0A> <>9<>< .q<>J<>@ 0<><>J<>D "<22><>$`<60>HJ3"z<>L<11>#<23><>P<19>[!<21><>T̬ !<21><>X<19><>  <20><>\e<> /<2F><>`<19><> <20><>dʲ"z<>hU<>!<21><>l(<28>:<03>piC'<27>tIQ<49>x:g k<>|W\.<2E><><00>98"D<><44><00>&%9<><39><00><19><>'B<><42><00><19><>)I<16><00>,96<39><00><19><>.BZ<42><00>+<2B>0I~<7E><00>+<2B>39<><39><00><19>W5B<><42><00><19>V7H<><48><00> <:9<06><00>!<21><B*<2A><00>d<>>HN<48><00>)<29>A9n<39><00>"<22>CB<><42><00>]<5D>EH<><48><00>gH9<><39><00>Y_JB<><42><00><19>^LH<1E><00><19><>O9><3E><00><19>_QBb<42><00><19>SH<><48><00><19><>V9<><39><00><01>XB<><42><00>{<7B>ZH<><48><00>HZ]9<0E><00><19>7_B2<42><00>T7aHV<48><00><19>\d9r<39><00><19>8fB<><42><00>E8hI<><49><00><16>kG<><47>*<2A>n<00><16><>q)<29>:]tGN<47> <16> ww<>) z<1B><>zg}G<><47><16>4<><14><>2<><><17> <16><><>G<<3C>$<16>N<>e<>(s<><><1A><>,<16><><>G<><47>0<0F><><14><>4s<><><05>8V<><>G*<2A><d <>S<>@<16><>|<7C>D<16>j<>G<><47>Hj<><14><>LU<><><1A><>P<16>(<>GT<16>W<>AX<16>V<>j\ <0A><>G<>`<16>}<><14>d<16>8<><1A>hb<><>Gl<16> <>'p <>Lt<16><><>Dpx<16>.<>2<>|<00><>2<><00> <0A><>2<><00> <0B><>2<><00>t<>2 <00><16>r<>2*<00>Vs<>2I<00><16><><>2h<00><16>-<>2<><00><16>F<>?<3F><00><16>I<>@<40><00>W<><>=<3D><00>6`<>=<00><16><><>>'<00><16><><G<00><16>7<>=g<00>S<><>><3E><00>[U<>?<3F><00><16>y<>D<><44><00><1D><>:<03><00><16><><>C'<27><00>i<><>IQ<49><00><16><>:<3A><00>,P<>C<><00><16>}<>I<00>0-<>:/<00>~jCS<00><16>iIw<00>V:<3A><00><10>C<><00>G<>
I<><00><16> :<3A><00>F C#<00><16>IGg:g<16>?C<>%zI<> <16><>:<3A>o<>C<><16><>IB<>":7<16><>$C[ J<>&I$<16><>):<3A>(J3+C<>,|2-I<>0{g084\O2A#8<16>M4HC<1)7Dp@<16>S93bD<>;3<>H<16><>=3<>L
\?3<>P<16>nA3<>T<16><>C3<>X<1B>E3\z G3;`<16>VI3Zd<16><>LBzh<16>VNC<>l<15>P@<40>pMeR@<40>tl<>TA<>xk<>V? |oX@: <00>ZZAZ <00>E\Bz <00>{<7B>_4<> <00>Ba <20> <00><16>c2<> <00>*<2A>e4<> <00>ןh$
<00>w<>j <20> <00>ćl22
<00>x<>n3M
<00><1A>r!g
<00><16><>u:<3A>
<00>Y4w4<>
<00><16><>yA<>
<00>ʐ|<1E>
<00>T:~<1E>
<00>g<><> <00>r<>2 <00>?<3F><>L <00><16>w<>f <00>LJ<><1E> <00><16><><><1E> <00>5C<>:<3A> <00>oR<>7<> <00><16><><>7 <00>ȭ<>8( <00><16> <>6M <00>j'<>7r <00><16><><>8<> <00><16><><>9<> <00> <09><>D<> <00><16>G<>><3E> +<2B><>> ]<5D><>@< <16>p<><\  '<>>| <19><>@<40> <>B<> <16><>M<> <16>(<>I <16><>I+$0<><>KP(<16>H<>Gu,<16>'<>I<>0'!<>K<>4<16><>M<>8N <>S<<16>8<>O4@<16><><>OYD<16><><>Q<>H
3<>M<>L+<2B><>O<>P<16><><>QT<16>]<>S0X=<3D><>Z\<11><>!t`m<><> <20>d<16><><> <20>hwL<> <20>lg<><>D<>p<16>S<>C<>t=<3D><>3x<16><><>:=|r<><>5<> <00><16><><>9<> <00><16><><>!W<00><16>@<>m<00><16><><><14><00>@Y<>3<><00><16>:<>!<21><00>n<>!<21><00>X<>"<22><00><16>a"<22><><00> `<60>.<2E><00><><01><><13><04><><18><><16><01><>Fݾ<16><01><>\<5C><04><><18><>6<><01><>F"<22><>P<><01><>ݾ<<3C>h<>j<><01><>ݾV<>ݾ<00><><01><><01><><>a<>p<><18><><00><><01><><01><><04><>a<><00><><01><><01><><01><><04><>ݾ<00><><01><><01><>h<>a<><04><>.<2E><05><01><><01><04><>.<2E>$<24><01><><01><>F <0B><01>9<><01><>*<2A>)J<><01><>?<3F>)`<60><01><>FP<>.<2E>z<><01><>.<2E>f<>ݾ<00><><01><>ݾ<04><>)<29><><01><>ݾ<04><>a<><00><><01><>ݾݾ<04><>ݾ<00><><01><><01><><04><>ݾ<03><01><><01><><>+<04><>ݾ'<27><01><><01><><>/? <09>ݾK<><01><><01><><>K<>c<>-<2D><18><>k<><01><>ݾW<>a<><00><><01><>ݾ<01><>q<><><00><><01><><01><>FF<04><>ݾ<00><><01><>ݾ<>+<04><>ݾ<00><><01><>ݾ<>/?<04><>ݾ<16><01><>ݾ<>K<><04><>a<>6<><01><>ݾ<>+<1C>a<>Z<><01><>ݾ<>/?<<3C>a<>~<7E><01><>ݾ<>K<>`<60>P<><00><><01><>ݾ<>+<04><>P<><00><><01><>ݾ<>/?<04><>P<><00><><01><>ݾ<>K<><04><>r<><06><01><>ݾ<>+<04><>r<>*<2A><01><>ݾ<>/? <0C>r<>N<><01><>ݾ<>K<>0<><18><>n<><01><>ݾ<>+T<><18><><00><><01><>ݾ<>/?t<><18><><00><><01><>ݾ<>K<><04><>.<2E><00><><01><>ݾ<>+<04><>.<2E><00><><01><>ݾ<>/?<04><>.<2E><1E><01><>ݾ<>K<><00>?<3F>><3E><01><>ݾ<>+$<24>?<3F>b<><01><>ݾ<>/?D<>?<3F><00><><01><>ݾ<>K<>h<><18><><00><><01><>ݾ<>+<04><><18><><00><><01><>ݾ<>/?<04><><18><><00><><01><>ݾ<>K<><04><><18><><0E><01><>ݾ<>+<04><><18><>2<><01><>ݾ<>/?<14><18><>V<><01><>ݾ<>K<>8<>)r<><01><>ݾ<>+\<5C>)<29><><01><>ݾ<>/?x<>)<29><><01><>ݾ<>K<><04><>ݾ<00><><01><>ݾ<01><><>+<04><>ݾ<00><01><>ݾ<01><><>/?<04><>ݾ)<29><01><>ݾ<01><><>K<><06>a<>N<><01><>ݾ<01><><>+/<2F>a<>w<><01><>ݾ<01><><>/?T<>a<><00><><01><>ݾ<01><><>K<>}<7D>P<><00><><01><>ݾ<01><><>+<04><>P<><00><><01><>ݾ<01><><>/?<04><>P<><17><01><>ݾ<01><><>K<><04><>r<><<3C><01><>ݾ<01><><>+<1D>r<>e<><01><>ݾ<01><><>/?B<>r<><00><><01><>ݾ<01><><>K<>k<><18><><00><><01><>ݾ<01><><>+<04><><18><><00><><01><>ݾ<01><><>/?<04><><18><><05><01><>ݾ<01><><>K<><04><>.<2E>*<2A><01><>ݾ<01><><>+ <0B>.<2E>S<><01><>ݾ<01><><>/?0<>.<2E>|<7C><01><>ݾ<01><><>K<>Y<>?<3F><00><><01><>ݾ<01><><>+<04><>?<3F><00><><01><>ݾ<01><><>/?<04><>?<3F><00><><01><>ݾ<01><><>K<><04><><18><><01><>ݾ<01><><>+<04><><18><>A<01><>ݾ<01><><>/?<18><>j<01><>ݾ<01><><>K<>G<18><><00><01><>ݾ<01><><>+p<18><><00><01><>ݾ<01><><>/?<04><18><><00><01><>ݾ<01><><>K<><04>)<01><>ݾ<01><><>+<04>)'<01><>ݾ<01><><>/?)L<01><>ݾ<01><><>K<>-h<>p<01><><01><>FFRݾ<00><01><>ݾh<>va<><00><01><>ݾh<><04>P<><00><01><>ݾh<><04>r<><00><01><>ݾh<><04><18><> <01><>ݾh<><04>.<2E>*<01><>ݾh<>?<3F>I<01><>ݾh<>0<18><>h<01><>ݾh<>O<18><><00><01><>ݾh<>n)<29><01><>ݾh<>ݾ<04>)<29><01><>ݾh<>a<><04>)<29><01><>ݾh<>P<><04>)<01><>ݾh<>r<><04>)'<01><>ݾh<><01><> )G<01><>ݾh<>.<2E>-)g<01><>ݾh<>?<3F>M)<29><01><>ݾh<><01><>m)<29><01><>ݾh<><01><><04>a<><00><01><><01><><>+<04>a<><00><01><><01><><>/?<04>a<><01><><01><><>K<><04>P<>/<01><><01><><>+P<>S<01><><01><><>/?5P<>w<01><><01><><>K<>Y
<01><>F<04> F2
<01><><13><01> 
)M
<01><><13>F8
<18><>g
<01><>%<25>S
ǿ<00>
<01><><01><><01><>ݾm
ݾ<00>
<01><>ǿ<01><><04>
)<29>
<01><>ǿ<01><>ݾ<04>
7<><00>
<01><><01><><04>
I<><00>
<01><><01><><04>
[<5B> <01><><01><> m<>2 <01><><01><> <>L <01><><01><>8 <18><>f <01><><01><>R <18><><00> <01><><01><>l <18><><00> <01><><01><><04> <18> <00> <01><>7<><01> <04> <18> <00> <01><>I<><01> P<><04> <18> <00> <01><>[<5B><01> r<><04> " " <01><>m<><01> <04><> G G <01><><><01> .<2E>. l l <01><><01><><01> ?<3F>S <18> <00> <01><><01><><01> <04><>x <18> <00> <01><><01><><01> <04><><04> )<29> <01><>7<><01> .<2E><04> )<29> <01><>I<><01> .<2E><04> ) <01><>[<5B><01> .<2E> )< <01><>m<>" .<2E>" )\ <01><><>G .<2E>B )| <01><><01><>l .<2E>b )<29> <01><><01><><01> .<2E><04> )<29> <01><><01><><01> .<2E><04> )<29> <01><>7<><01><><01><><01> <04> )<01><>I<><01><><01><><01> <04> )+<01><>[<5B><01><><01><><01>  )P<01><>m<><01><><01><>" 1)u<01><><><01><><01><>G V)<29><01><><01><><01><><01><>l {)<29><01><><01><><01><><01><><01> <04>)<29><01><><01><><01><><01><><01> <04>) <01><>7<><01><><01><> m<><04>)4<01><>I<><01><><01><><16>)Y<01><>[<5B><01><><01><><01> :)~<01><>m<><01><><01><>~<04><>_)<29><01><><><01><><01><><01>:<3A><04>)<29><01><><01><><01><><01><><01>K<><04>)<29><01><><01><><01><><01><><01><04><><04>)*<01><><01><><01><><01><>*<04><> .<2E>T<01><><01><>T.<2E><0E>6.<2E>t<01><><01><>`.<2E><00><01><>ݾz.<2E><00><01><><01><04><04><><04>)<29><01><><13><01><><01><><01> <04>)<29><01><><13><01><><01><>W<04>C<01><>%<25><01> )=<01><>%<25>C.<2E>#ٿW<01><>ݾC)m<01><>ٿ]a<><00><01><>sݾ<00><01><>C?<3F><04>C<00><01><>ݾ<04>?<3F><00><01><>ݾ<04><18><><00><01><>ݾ<04><04><><1F>҆ m<08>[<5B>n C1<>o C~<7E>p C<08>r-<2D> cytL<><19>$v3<><19>xA<>ۭzT<> .<2E><00><01><04>.<2E><00><01>'<27>C<04>.<2E><00><01>'<27>.<2E><04><04><04><> <0C>.<00>E<11><04>CC<00><10><01><>,Yb<00> <1D>B<00>!  <0C><><00>"<00>{1<00><0F><00>}1<00>!<0F><00>w<00>Hn<06>F<06>g<06><>K<>B<>+U6M<06>P<06><><06> a)
<06><> <06> "P $<24><06>l<06>k<06>>M<><06><>S<>p<06><>U<>*<06>K<>U\<5C><06><>/(<06>Y<06><> <10>!<06>"<06>=#<06><>$q\%
&CK'<06>S(|)<06>)*<06>!+<06>>,|b-<06>M.<06><>/{<7B>0S<>10<>2~U3<06><>4̰56<06>7<06><>8<06>49<06>:$(;<06><<06>~<<10>=vw>+<2B>?<06><>@<06>YA!<21>BݱC<06> DP<>E<06><>F<06><>GA<>H<06>PIF<>Jy<>K<14>L<06>GM[nN<06>YOYP><3E>Q<06><>R<06>?S<06><>T<06>[U<06>=V<06><>W <20>X<06>(Y Z<06><>[<06><>\4<>]<06><>^_<06>\`<06>xad<>bs<>c<06><>dޙe<06><>f<06>_ghi<06>}j<06><>k)Ll<06><>m<06>nt<>o<06>np<06><>q<06><>rALs3<>t<06><u<06><>v!<21>w<06>Hxt&y8<>z<06>}{<06>"|n<>}<06>~4<>t<00><06><><00>8<><00><06> <00>_<><00>j<><00>G<00><06><00><06><><00><06>3<00><06><><00><06><><00><06><><00>D<00><06><><00>[S<00><06>~<00>:<3A><00>Xv<00><06>F<00><03><00><06><><00>L<><00><06>i<00><06>p<00>,<2C><00><06><><00> 1<00><08><00>F<><00>bf<00>m<><00><06><><00>`N<00><06>J<00><06>q<00><06>Z<00>c<><00>]<5D><00><06><><00>#<23><00><06><><00><06><00>L<00><06>g<00>e<><00>W<><00><06>X<00><06>"<00>%<25><00>H<00><06><00><1E><00>yZ<00>=F<00>y<00><06><00><06><00><04><00><06>"<00>i*<00><06><00>Z<><00><06>P<00>s]<00>6~<00>X,<00><06><><00>L<><00>D<><00><06><00><06><><00><00><06><<00>e<><00>K<><00><10><00><06><><00><06><><00><06><><00><06><><00><06><00>ʂ<00><06><><00><06><><00>'<00>X5<58><00>$WX<><00>2 -X<><58><00>7 -X [<00>; -<04>)<29>-ZL<00>_w@ <0B><00>_<><00><1A><00>`<60><00><1A> 0<><00>`, %<25><00>a<1F> <0C><00>n<1F><1A>Nh<>{m <0A><><00>}9 <0A>H<00><14> *><00><><13> <0A> <00><>-P <0A><><00><>nT <0A>u<00><>)<29>=\ j<00><>
C` <0C>N<00><><1A><><08><><10>Rpfn<00><><16>=Rcxt<00><>
C <0C><><00><>y<1A>-І<>W <0A><><00><>9 <0A>;<00><><1B>Rarg<00><>
C <0A><><00><><15> 6<00><>m <01><00><>-<00> 9<><00><>4<EFBFBD>=<00> <0A><00><>
C<00> ]<5D><00><><12><00> <18><00><><10>B<00> <0A>9<00><><12><00> <12><00><>5W<00>Z<>g_w <0C>-<00><><03>X<>g<00><> -<00>><3E><00>dUwew<00>P<0E>1<><06>,<2C>T"[<5B><06><> e<00>X<03>e#<18>fH<00><04>k <0B><00><02>G<00>l w <00>h<15> <18><00>iF <0A><><00>jH <0A><><00>m<06> <1D><00>nw ?A<00>o
C<04> e#<00>p<03> T<><00><<11><00>w<00>/<01><00>&<06><>Y<06><><06>m|<7C><06><>"#<06><><06><> 
 E<> % e<><06><>#q<><00><><EFBFBD> <0C><00>Bf<10>FH-Rx<00>G <0C>Ry<00>H <0C> <0A><00>I <0C> x<><00>J <0C> J<00>K<03><08>O<01><>aRnum<00>P <0C>Rden<00>Q <0C> <0C><><00>R9 <0C>5<00>\<12><00>w<00>,(<28><00><06><><06>i<06><><06><><06>b *<2A><00>2y,<2C>7 <0A><00>8<14> x<><00>9<14> !Y<00>:- @<40><00>;aRpar<00><a <0A>B<00>>m( <00>C<03><1F><10>Ga <0A>L<00>I <0A> U^<00>J <0A> ;<3B><00>L <0A> <0A><00>M <0A> <1F><00>Q<08>Vw<><00> <0A><><00>W <0A> <0A><><00>X <0A> y<><00>\m<00>,<2C>a<01><><00>Y<>`<00>baYuF<00>cY<><59><00>d<1D> <0C><><00>e<03><05> <20><>U <0A><><00><><13> <0A><><00><>m Pj<00><>mRes<00><>U <0A><00><> <0A> <0A><><00><> <0A> <0A><><00><> <0A> <0A>6<00><>[<04><04> <05><00><><03>(<28>,<10>b<00> 4b<00>- <0A> <,<00>.<15> -<2D><00>0<14> <0A><><00>2 <0A>$Z<><00>_w <0C>b<00>5m<00>(<28>9r}<00>YuF<00>;(<28> t}<00>=<03><1A><>8<>E<10> <0A><><00>G!<21> <0A><><00>I)<29>Rcmd<00>K <0A> Ed<00>N[ <0A><><00>P <0A> -
<00>Q <0A> <,<00>S <0A> <0A><><00>U <0A>Rpts<00>X <0A> Rdts<00>Z <0A>( <0A><><00>_(<28>0 <0A><><00>a
C4<04>n<><6E><04><04> <0C><><00>c<03><04><00>w<00><5 <06><06> ]b/"<06><><05><06>/<06>E<06>]<5D> "O
G\ k<> l<> `M<1A><><08>V\ Rid<00>X <0A> d<00>Y <0A> <0C><><00>Z5 <00>w<00>0<06>##<23>#<23>#Ϳ#<23>t#<23>w#]s#x<>#tT#<23>P #<23><>
#Y<> #<23><> #<23><> #<23>#<23>a#[<5B>#%<25>#<23> #W<>##<23><>#<23><>#a^#<23>k#R#<23>+#_'#<>#<23>[#<23><>#O<>#<23>3 #<23>_!#<23>["#<23>##vs$#<23><>%#H&#<23>'#<23><>(#(3)#<23>!*#<23><>+#<23>Q,#-#<23><>.#w<>/# <0B>0#$ 1#<23><>2#<23>3#<23><>4#*5#T<>6#<23>I7#۷8#<23><>9#<23>:#<1C>;#<23>6<#<23><>=#[&>#z<>?#Z@#<23><>A#<23>eB#{^C#<23>D#1<>E#<23>QF#q<>G#[&H#<23>AIJ#<23>:K#<23>HL# M#}MNOP#<23>#Q#b<>R#FS#1<>T#<23><>U#ĿV#<23><>W#<23><>X#<23>iY#<23><>Z#<23>][#<1D>\#o4]#<23><>^#<23> _<00>w<00><><01><>C$n=2\<5C><06><>^<5E><06>^<06>&<06><><06><>Թ <06><>
=<3D> <06> # Q<00><><EFBFBD> <0C><><00><><03>#<00>w<00><><01><><00>$<06>n;<3B><06><>=#D<><00><><EFBFBD> <0C><><00><>O$wgLw<00><><0E>$<06>z<>l<><06>I9<>gx<1F>U<>QV\~ ^
#<23>L<00><><EFBFBD> gL<00><><03>$w<><77>w<00><><0E>%<06>wz<06> <06><><06>!<06><06><06><>ūn<> <06>,
<06><> <06>R o <06><><06>b-<06><>~`<06><>[<06>DeEP<06><><06>#<23><00><><EFBFBD><1F><><00><03>$<1D><>(<28>!&thdr<00>#\ <19><00>%<19>%c <00>& <0A> <19>C<00>'9&Z<>&_w<1F><><00>(<03>%<00><01><>w<00>BY&*<2A>C:<06> @<40>#<23>i<00><><EFBFBD><1F><><00>I#&<00>*<2A>w<00><><0E>&Z<><06>x<06>4#ix<00><><EFBFBD>*<2A><00><>f&<1D>[0<><30>L'thdr<00><>\ <19>a<00><> <0A><19>`<00><> <0A> <19>9<00><> <0A>o<><00><> <0A>_<><00><> <0A><00><> <0A>y<00><> <0A> <19>K<00><> <0A>$<19>F<00><> <0A>(S<><00><>2<>&,<1F>[<00><03>&<00>{<7B>w<00>j<0E>'c<><06>^<06>W@#<23><><00><><EFBFBD>{<7B><00>qY'Zb<00>'_w<00><00><01><>w<00>4<0E>'ٺCt<06><>#Y<00><><EFBFBD><1F><><00>9<03>'W<><14>;0(thdr<00>=\ <19>5<00>?<1D>']<5D><00>@Z  <00>AZW<><00>B<03>'<00>u w<00>hy(<06>p"<22><06><><06><>I#X<><00><><EFBFBD>Z-<00>(_wX= <00><>y(<1A><> <0C>C<10>(Rhdr<00>E\  &8<00>G <0C> <0C><><00>H<03>(<00>w<00>.F)Z<><06>Qm <06><>Q,#t<><00><><EFBFBD><EFBFBD> F<00>6<03>(<0E>@<40>O<10>) <0A><><00>Q * <18><00>RF <0A><><00>T) s <00>U <0A> <0A>w<00>V <0A> m<><00>X <0A> <0A><><00>Y* <0A><><00>[ <0A> 6 <00>] <0A> b<><00>_ <0A> a<><00>b <0A>$  <00>e <0A>( џ<00>h <0A>, <00>j <0A>0 q<><00>m<1D>*4 L <00>n!<21>*8 <0A><><00>p <0A><n<><6E><04>)a#!8<>0<10>* <0A><><00>3%<25>* L <00>6&+ <18><00>9F m<><00>< <0A> <0A><00>C<11>* <03><00>E<10> <0A>&<00>F+ <0A><><00>H<10> 4P<00>I+ L<><00>K<10>$ A<><00>L+( _o<00>N<10>, w<><00>O+0Rid<00>S <0A>4 *n<>U<04>* <0E><00>u)<04>*n<>4<04>*<04>*<04>* #!<00>U * 4<><00>+&+n4<6E><1A>R <0C>+`+ ;<3B><00>-`+ <0A><><00>. <0A> <0A><><00>/f++<04> <0C>R<00>0++l+:<3A> <0C>i<10>+ l<><00>j-Ru<00>k-Rv<00>k
- <0C>9<00>l~+<1A><> <20>t<10>+Rx<00>u
&Ry<00>v
&Rw<00>w
&Rh<00>x
& 5<00>y<03>+<00>&K<00><01>|<10>- |<7C><00>}- <0A><><00>~- <0A><><00>- <0A><><00><>- RISO<00><>- <0A>f<00><>- <0A><><00><>- <0A><><00><>C$ <0A><><00><>%<25>$ 
<00><><18>$$ p<><00><><18>%( <0A><><00><>'&, <0A>s<00><><19>+T <0A>X<00><>Y&` <0A>L<00><>-d P<><00><>-h <0A><><00><>-lRroi<00><><16>+p <17><00><>-<00> <0A>4<00><> 5<00> !)<00><> 5<00> <00><><03>'<00> <0A><><00><>Z<00> <0A><00><>-<00> <15><00><>,<2C>'<00>>c<00><>-<00>><3E><><00><>-<00>><3E>2<00><>-<00>><3E><><00><>w<00>>$g<00><>w<00>>/g<00><>w<00>>I<00><>-<00>>Q<><00><>&0(<00>><3E><><00><> 5<00>><3E><<00><> 5<00>><3E>U<00><>-<00> <0C>8<00><>, <0C>8<00><>!<21> <0C><><00>iC<00>w<00>7Ŭ<00>/<06><><06><>]O<><0F>d<><06><><06><>-<2D><06><> <06>
5 # <06><> <06><06>_<><06>~<06><06><><06><>a<><06>Nl<>n<>-r<06><>7<>&<26><06>?<06><>à <06><>!<1B>"<06>#<06>%$<06><>%?+&<06><>'<06>w(k;);,*vc+<06>],-<06><>.<06>;/<04>0<06><>1 <09>2<06>3g<>4<06>?5
6<06>7<06><>88<>9S:<06>*;<06>J<i<>=<3D>߄<00><> Ǭ<00><>. <0C><><00><><10>/<04>/)<29>/--Z<>/<00>/<00>X<02><00><><1F>/ <0C><00>'<12> ĩ<00>)<12>& 0 <0C>r<13>B0 <0A><00>s<1E>/ <0A><00>t- x<><00>u- <15><00>v 0 %<00><><19>- N0 <0C><00>/C <00>0C <0C><><00>1C <0C>M<00>2CZ0 <0C>7<00>VC wz<00>7w<00>w<00>"<0E>_<00>0<06>{ `<00>%<03>0<1A><>0<>)}1 O<><00>,;4 <0A>M<00>/.4 ?<3F><00>3M4 G<><00>7O4 d<><00>;O4 {<7B><00>?O4 <0A><><00>B34 C<><00>E-4 r<><00>J%B4 <16><00>M/S4$ <0A><><00>P=S4( u<><00>S-S4,-<00>1<01>1<04>1<00><01>0<00><01>r4 <0A>0<00>s- <0A><><00>t- <0A><><00>u<10>* <0A>Q<00>vx+ 3<><00>w`+ t<><00>xg <0A>X<00>y<10><00>><3E><><00>{ <0C>>z<><00>}-><3E><><00><> <0B>><3E><><00><> <0B> >z<00><> <0B>><3E><><00><> <0B><01>x<00><> <0B><01>y<00><> <0B>><3E><00><> <0B> >x<><00><> <0B>$>\<5C><00><>-(>C<><00><>-,> <00><><18>40><3E><><00><><1B>44>wF<00><>58>)<29><00><>$5<><3E>-<00><><1D>/@<01>win<00><>B0D>V<><00><>A5P>mC<00><>k0T><10><00><>w0X>j<00><>_0\><3E><00><><11>0`>F<><00><>
<EFBFBD>0d><02><00><><0F>0h>N<><00><>
<EFBFBD>0l>j<><00><><0F>0p>k<><00><>
<EFBFBD>0t>h<00><><0F>0x><3E><><00><>
<EFBFBD>0|><3E>{<00><><0F>0<00>><3E>v<00><><04><00>>/<2F><00><><14>0<00><01>ops<00><>Y4<00>>7<><00><> C<00>>b<><00><>-<00>>r<><00><><14>4<00>}1-4<01>1<01>0 4-<4<01>1<4F<>[#4)S4<01>1H4 <0C><><00>T<03>0<1A>+,<2C>V<10>4 <20><00>X<14> <02><00>[<14> =<3D><00>^ [ d<00>a
f$ 5<><00>e-( <0C>+<00>fe4 <0C><><00>i<10> -<00>j<10>4<04>4)5ק----- <0C>C<00>k55)$5!<21>!<21> c!<00>l0565)A5<01>. <0C>0<00><><03>1<00>w<00>A<0E><00>5<06>5<06><><06>F<06>U<06>_<06>|<7C>jcJϸ <0C><00>MS5w<16>w<00>%<0E>5[_<06><><13>#"<22><00>wow<00>-A6gY ?ĉ<06><><06><><19> <z<1B>ж
<06><06>s[*<00>#C4<00>Xg<00>9N <0C><00>l"Y6<1A>@<40>v7 <0A><><00>x
C y<><00>y7 m<><00>{ <0A> <0A><><00>} <0A> Rin<00><><11>*Rout<00><><11>* <0A>Q<00><>x+ ;<3B><00><>`+ <18><00><>F <0A><00><> <0C>( g<><00><> <0C>0 ;<00><> <0C>8 (4<00>s77)77M6&i$ 2<08>7 <0A><> 3<15>7 +<2B> 4<15>7 <0A><> 5* S 6<11> <0A><> 7<10>* <0A><> 7&<26>* <0A><> 7:<3A>* <0A><> 8<10>* FX :7 +c<><63> AG5P<>c<><63> B %7(<28>c<><63> D <0C><10>c<><63> Ew<03><>c<><63> J <09>o<03><>c<05> K <09>op<>c/<2F> L<1C><>d<>c<>G N <0A>!`<60>c<><63> P\<5C>c <0B> QwX<>c T <0C>@<40>cg! U
<EFBFBD>8<>
<04>8Z<><00>8_w9<> <0B>8
~<7E>
9<>r<>~<7E>"<22>
r<>c<>D W*9<><03><>
<04>8Z<><5A><00>8_w<04><> <0B>8
<04><>
<04><><04><><04><><04><>
<04><>c<><63> X:<3A><><03><>c"F Yק<03><> [ <0C><03><>
^9Z&n9_w2<>
w<>
2<>k<>w<><1B>
k<>c<02> \2<>(<28><00>>:<00>wF <09><06>9!<21>!<21><00><01><> <09><06>9-<00><01>6 <09><06>9<01><00> <09>:ק-----<00><02><> _<01><><01><>www<00> ^<01>9<07><>V<>o<> P:
<04><>
f<>
o<><04><><04><>N<><04><>s-<2D><00><><0F>s><3E>!<21>
<04><>s/<2F><00><>d<05>sU<73><17>d<04><><07><00><>
L<04><> <0B>:,<2C> <0B>:
<04><>u<> <0B>:
]<04><> ;
u<>} ;
_<><04> #;
}2<04><04><> :;<04><> E;
<04><><0F> V;
<04><>
6<>2<0F>
N<>
<0F>
;<3B>
<04><>;<3B> <0B>;2;<3B><04><> <0B>;
<04><>2<04><>
<04><>8$ <0B>;7<17>w<>(<28>(<28>|<7C><07><><00><>Ԙ<00><>v<><00><><07><14><07><>"<22><1C>Q<><07><>_<>Z<><00><><07>1<00><><07>F<00><><07><00><><07><>k<><07><>y<><07><<00><>M}<00><>3<><00><>uk<00><>
y<>2N<>
H<><04><>
A<04><>
<04><><04><> <0B><<04>$ <0B><2<04>$
<04>%28$<00>,8C<00><01><>g<><00><><EFBFBD><EFBFBD>x<EFBFBD>{(s<><00><><EFBFBD>s<7F>8b<>&<26>b<><00><>4<01><01>v<00><>4s<><73> sV<73>=<00><>A<>x<00><>~<7E><01>7<00><00><EFBFBD><02>\xH<00><01><>@;<XxH<00> <09><01>GX<01>TX<00><>3i<33><00>H  J<13>={<7B>A<><41>IHO3<>=<08><><08><>64;n<>IhO3<08><>PN3i<33>0I<00> Kd>{<7B>jhAn<41>pI<00>O35><08><><00><00>;<3B><>pI<00>O3<08><><00><00><08><><00><00>3
<EFBFBD>tI<00> L?<18><00><00>;<3B>ytI<00><02><08>y<00><00>I<>otI<00><02><08>o4}ftItI`A<08>f 4sbtItI<06><08>b:83N<33><00>I N U?\<5C>TRIN<49><00>Iq\<5C>nl3<1B><00>I8 X:@-<2D><00><00>I
<EFBFBD><00>I8^ <18><00><00>;<3B>y<00>IX<02><08>y<00><00>I<>o<00>IX<02><08>o"I}f<00>I<00>`A<08>f`ZIsb<00>I<00><06><08>b<00><00>u<>H*@Pt/<2F>Hq<>D@PtRvu<>HT@Pw/<2F>Hq<>n@PwRv/0Iq<><00>@QwRv/tIq<><00>@QwRv/<2F>Iq<><00>@Rv/<2F>Iq<><00>@Rv<00>Jq<>2N<>&Z<> AC__iwr<>l<00>@TN<54>-__t
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
.<1F>;
7<>&<26><>3A_Tp~<.__t J8 A
N<>&<26><>jAC__iwr<>l\ATN<54>-__t
"<1E>;&<26><><03>AC__iwz;N<>q-__t
5;2<12>& <0C><03>A_Tp<00>;.__t c<10>;i$<00>A<03>A<00><<3C><08><15>A<00>w*<00>;<01><>R$B
B*<00>;<00>@%"BHO<00><01><X<00>*<00><<00><00>3<>APO<00><08> 2XB_OI<>APO<00><08><08>A<00><00>I1<49>PO<00><08>I<>qa[<5B>I[<5B>PO<00>_(~<7E><00><00>Ix<49>PO<00><$<08><><00>s[<5B>F<><46> <00>F<><46><00>}F<><46>F<><46><00><00>@0<00>̧<00><00>ͧF٧<00><00>F<><46><00> <00> 3<><33>`O<00> <09>.D<08><>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<00> <08><>!

;<3B><>`O<00> b <08><>K
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
I
[<5B>F<><46>l
h
3<><33><00>Og%<25>C<08><><00>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<00>
]<5D><><00>O<00>O<0F><1A><01>OP<04><>7<>V<00><>\<1E><00>O<00>O <09>=fD5<><00>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<00>
,<2C><00>
<00>
4B<34><00>O<00>O<07> X<><00>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<00>
L<><00>
<00>
3$<24><00>O8 <09>=<3D>I;<3B>  2<>C = @<40>w<00>O<00>O<02>=<3D>D<08>w<00> { <08>w<00> { @<40>w<00>O<00>O<02>"<22>D<08>w<00> <00> @<40>w<00>O<00>O<02>=<3D>E<08>w<00> <00> 4n<00>O<00>O_C'n 8Ie<00>O<00>O<04>`eK I We4'a<00>O<00>O<06>">a` ^ 5aA-w<00>OP<02>='GQwDw{ s ;w<00> <00> @<40>m<00>O <00>OKF<14>m<08>m<00> <00> 4Ie<00>O
<00>OdD`eWe 4'a<00>O <00>O<06>">a5a( & ;<3B>m<00>O p <08>mH @ <08>m<00> <00> ;tl<00>Op7<08>l<00> <00> <08>l[p;<3B>d<00>O<00>(!<08>dTP<08>d<00>|;<3B>`<00>O<00><04> <08>`<00><00><08>`<00><00><08>`<00><00>B<>O{<7B>PyA<>v<00>O
<00><02><1F>H<08>v<08>v.*<14>v<14>v;<3B>l<00>O <00>!%&mPLmm[<5B>F2mpnIe<00>O <00><15><e<00><00>0e$eI<>`<00>O <00>ea<00><00> a<14>`;<3B>]<00>O<00><10>,^<00><00>^^;<3B>\<00>O<00><10>-*]<00><00>] ]1/[<5B>F7]FD;\<00>O<00><10>H\^Z;\<00>|.\<00><00>[<5B>FU\<00><00>B<>O<00><>Px@<40>w<00>O<00>O<02>" I<14>w4<>m<00>O<00>O<06><14>m@w<00>O<00>O<02>TI#w<00><00>8?m<00>O<00>O<02>5VmMm@<40>v<00>O<00>O<02><1F>I w<00><00>8?m<00>O<00>O<02>6VmMm8<>{<00>O<00>O<02><08>{<00>O<00> <09>!bL<08><>%܂YU<00><01><>dV$<00><01><>F<><46><00><00>\vdVdVJ hJ8v<00><00>8<>ldVdV<14><08>l<00><00><14>l\vdVdVJ <0C>J8v8<>ldVdV<14><14>l<14>l3<>udV<00>J <0C>K<08>u<00><00>v<14>u<08>u<00><00>[<5B>Fv<00><00>;tldV<00>v <08>l<08>l.*[<5B>;<3B>ddV <00>(!<08>dUS<08>dqm;<3B>`dV
<00><04> <08>`<00><00><08>`<00><00><08>`<00><00>BhV{<7B>Put2$I<>upV<00>P<08>u<00><00><14>u<08>u  [<5B>8<>ktVtV 0<08>k ll:88UdtVtV <04> cdOMxdldigB|V<00><>Px<00><02><><00>OX<00>LF<><46><00>|F<03><00><00><00><0F><00>LF<10> B0P<00><>QzRtBPP<00><>P{<00><1D> YS<00><1E>F*<2A>Q?F6<46><00><00>3<><33>PP<00> <09>.<2E>M<08><> <08><>;7;<3B><>PP<00> b <08><>gc[<5B>F<><46><00><00>3<><33>PP<00>g%<25>M<08><><00><00>]<5D><>PPPP<0F>{hP7<>V<00><>3<00><00>P <09><1B>N5<><00><00>(<28><00><00><1B><00><00><12>A<><41><00>P(U3)N<08><>1/<08><>FDAn<41><00>PHU3NN<08><>][;<3B><><00>PhW <00>tr<08><><00><00><08><><00><00><08><><00><00>[h<00> <0A><03><>B<7F>PyPzQ2R<03><>S03 <0C><00>P<00> <09>5<EFBFBD>O'<27><00><00><1E><00><00>A<><41><00>P<00><11> IO<08><>:6<00><01><><00>8OF<><46>fbB<>V<00>yPtA <0C><00>Q <11>{O<1E><00><00>'<27><00><00>7<>Q<00><>3<1B><00>Q <09>5<EFBFBD>O-<2D><00><00>A<><41><00>QP N <0C>O<08><><00><00>7<>Q<00><><00>b<>h <00>OFc<46>;<00>B<><00> ZRFH<46>  \<00>|T|TT <09>Q5<>" (<28>:6<1B>^Z<12>}A<><41><00>T<00> W <0B>P<00><00><00><14><><14><><08><><00><00>[<5B> <00> <0A><03><>B<7F>TyPzQ2R<03><>S@A<><41><00>T<00> U3<>P<08><><00><00><08><><00><00>;n<><00>T
U3<08><><00><00>3 <0C><00>T
<09>3<EFBFBD>Q'<27><1E>5/@<40><><00>T<00>Tt<11> <0C>Q<08><>om<00><01><>P
<00>QF<><46><00><00>BU<00>yPvA <0C><00>Uh
<11><06>Q<1E><00><00>'<27><00><00>7<>U<00><>3<1B><00>U<00>
<09>30R-<2D><00><00>A<><41><00>U<00>
N &R<08><>7<>U<00><><00>T<><00>
LRFU<46>><<00><01>VPz3e<33><00>S<00>
<09>.<2E>Rs<>TR;}<7D><00>S<00>
i <08><>nlI<><49><00>S<00>
y<08><><00><00>]<5D><><00>S<00>S {<7B>SIe<49><00>V <09>.s<><00><00>;}<7D><00>V i <08><><00><00>I<><49><00>V y<08><><00><00>]<5D><><00>V<00>V {<7B>V\<>TT <09>=:U<08><><00><00>@<40>{TT8<1C>S<08>{
@<40>{TT7<0F>S<08>{$"<14>{<08>{978<>{TT:<08>{SQ@<40>uTT<02>T<08>umk<14>u<08>u<00><00>eT8<>k T T0<08>k<00><00>ll<00><00>8Ud T T<04> cd<00><00>xdld<00><00>BT<00><>Px8 |TT|<00><00>4<>wTTX<08>w4<>mTT<06><08>m.,3e<33>T( <09>.<2E>Us<>HF;}<7D>T( i <14><>I<><49>T0 y<08><>b`]<5D><>T
T <1A>(TP<04><>\<><00>V<00>V <09>=<3D>W<08><>yw@<40>{<00>V<00>V8 V<08>{<00><00>@<40>{<00>V<00>V7HV<08>{<00><00><14>{<08>{<00><00>8<>{<00>V<00>V:<08>{<00><00>@<40>u<00>V<00>V/W<08>u<00><00><14>u<08>u<00><00>e<>V8<>k<00>V<00>V0<08>k  ll%#8Ud<00>V<00>V<04> cd:8xdldTRB<>V<00><>Px8 |<00>V<00>V|ig4<>w<00>V<00>VX<08>w<00><00>4<>m<00>V<00>V<06><08>m<00><00>3e<33><00>VH <09>.!Xs<><00><00>;}<7D><00>VH i <14><>I<><49><00>VP y<08><><00><00>]<5D><><00>V
<00>V <1A><01>VP<04><>7TE7<>V<00><><00><02>bX%K<> <09>-%<25>n <09>-<00>l<>^ tX<02>X*<00>89<>a<00>bXwk<00>Xh<<01><>ZtX<00><00>4<34>(h(h^ <08><> A<>{,h:)Z<08>{0,A |(h\Y|PNI<>w(hX<08>wecI<>m(h<06><08>mzx8<>u,h,h <08>u<00><00><08>u<00><00><08>u<00><00>e,h ;<3B>k,h00<08>k  l- ' ln h AUd,h0<04> Zcd<00> <00> xd<00> <00> ld<00> <00> 78h<00><>@<40>{,h,h8RZ<08>{!!8<>{,h,h7<08>{7!1!<08>{d!`!<08>{<00>!<00>!<00>_%<08><0E>Z<02>Z*<00><9<>a<00><01>Z<00>Z<00>L4<01>$[<08>Z<00>!<00>!3<>Z<00>LH<08>[<08>Z<00>!<00>!<00><01>LPtB<>L<00><>PtQH<00><01>Z<[<00>L(<01>W[<08>Z<00>!<00>!<00><01>LPt&<26><><03>[_Tp<00>%y<>eY<>%<05>e*Y<>%<25><>eV<><56>n<14>U&,<2C><03>[K|<7C>_IIק_OIק%y<>wק%<05>w%<25><>wV<0E>|&m<>\r2ק%<25><>H<>ק&<26><>c\_Tp<00>%y<>eY<>%<05>e*Y<>%<25><>eV<><56>n<14>U<1B>q\{\*);&<26><><03>\K|<7C>_IIק_OIק%y<><10>ק%<05><10>%<25><><10>&<26><><01>\r2ק%<25><><14>+<2B><>&<26><>E]K|<7C>_IIY<>_OIק%y<>wY<>%<05>w$Y<>%<25><>wV<0E>|&7<>f]r2ק%<25><>ק&[<5B><01>]r2Y<><10>+<00><>%<25><><14>F}&<26><><03>]_II<00><>_OIק%y<><10><0E><>%<05><10><1B><>%<25><><10><1B><><00>]<03>]*K;&<26><>:^K|<7C>_II}_OIק%y<><10>}%<05><10>%}%<25><><10>&<00>[^r2}%<25><>H<>}<1B><>i^s^*<00>:<1B><><00>^<03>^*<00><-__xI<>F-__yI<>!F<15><00>^<03>^*<00>;
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
$<24>&0<><03>^C__iwr<>l<00>^T<18>T<>(-__t
"ҷ&i<>)_C__iwz;<00>(q-__t
5L<35>&<26>+A_-__t
_L<>&J+X_.__b
qF<><1B>0z_<02>_<00>_U1<18><00>_U2<00>(*<00><>*X_C<><00>_<00>_<00>_U1<18><00>_U2<00>(z_<1B>.<00>_<02>_*<00><>*<2A>_9<><00>_<00>_<14>_-<00>_<02>_*o<>*<2A>_<00><>` `<14>_<1B>+`%`*^<5E>* `<00>6`<``<1B>*J`T`*)<29>*<`<00>e`k`J`&<26><><03>`<1C><00><><10><>קOy<4F>c&<26><>O<05>c><3E><>O<><4F>dק<1B><><00>`<03>`*̧.__nc<1A><>&af<0F>k7$&<26><>'a_II}_OIק%y<><10>}%<05><10>}%<25><><10><11>5aDa*̧ѧ*'a<00><>Ua`a5a>a<1B><>na<03>a*<00>;.__nc<1A><>&af<0F>k7$
,<2C>&<26><03>ar2F<10>+]%<25>_<14>?<3F>a%[W<14>8<>a
<04><>&b<10><>F,<2C>W<10>+]%<25>_<14>@<40>a%[W<14>9<>a<1B><>(b2b*;<1B><>@bWb*<00>:-__i*<2A>:*2bR.hbsb@bIb<1B><><00>b<02>b*̧*sb<00>b<00>b<14>b&m<03>b-__dXW-__sX*F-__nX9>(<00>b<03>b*<00>B-__sF!F&<26>~c-__a<04>&cB&<26><>Yc_Tp&%y<>ej<>%<05>e*j<>%<25><>e7!<21>V<><56>n<14>U#*gcqc*޷
<04><>&<26><><03>cC__iwr<>l<00>cT<18>T<>(-__t
"ҷ&<18><03>cC__iwz;<18>r<00>cT<>(-__t
5<><35>&&.<03>c.__t
<EFBFBD><1C><>&<26>-d.__b
<EFBFBD><1B><><1B>)#d9d*޷.__p <0C><1F>)*d6tJdUd#d,d cd~d*̧.__ptY<><01><>&U<><03>d<1C><00><><10><>קOy<4F>s'<27><>O<05>s?<3F><>O<><4F>tקf<0E><15>&<26><><03>d-__a<04>
<EFBFBD>-__n<04>/<2F><>0<00>de*<00><>&<26><>Ie<1C>}<10><>קOy<4F>c&}O<05>c>}O<><4F>dק(<28>Weme*<00><>.__a<06>"<04>*Ie<00><>~e<00>eWe`e&/~<03>e-__a<04> ]B-__n<04>/a~<1B><00>e<03>e*<00>B%<25><>B ?%<25><>B7?%<25><>CW%<25><>CW<1B><>f(f#6W*<00>:-__i<1F>a*<2A>e<00>BfMf#6WffV [fef*<00>B sf}f*<00>B <09><00>f<02>f*<00><>*}f<00><><00>f<00>f<14>f<00><01><00><><05>f<01>f*<00>BO<>@<1A><11>B<1A>><1B><><00>f g*<00>;.__pt><3E><01><>&$<24> g.__rG<>1<EFBFBD><&<26><>@g_Tpi.__r <0B><14>;&<26><>`g_Tpi.__r /<16>;<1B>ng<03>g*<00>B%<25>E>>%<25><>>+>V<><56>@ <1B><00>g<03>g*<00>B%<25>E+>-__s+-F<00><01><00><><05>ggh*<00>B%<25>E<1A>>%<25><1A>->-__s<1A>CF%<25><1A>KV<><56><00><>KV<><56><00><>Ka<>__p<00><> <0C>VE<00><>KaV<61>'<00><>K<00><01><00>6yh<00>h*<00>B%<25>E<1A>>%<25><1A>,>-__s<1A>BF%<25><1A> >VE<00>:KV_<56><00><><00>__r<00>=<0F><1B>
<00>h<03>h*<00>B&<26>$i<10><>קקק<1B><>#i2i*<00>;<01>;*i<00>CiNi#i,i
<04><04> Ti&<26><>i<10><>h.__f/!Ti&<26><><03>iK|<7C>_II!<21>_OI!<21>%y<>w!<21>%<05>w$!<21>%<25><>w0!<21>V<0E>|&5<><03>ir2!<21>%<25><>!<21>) jj*<13>OLN K<18><1B>'-j7j*<00><><1B>)EjOj*޷<1B>(gj}j<00>_Up<00>(*<00><>.__p <0C>K&*Ojz<><00>j<00>j<00>_Up<00>(gjpj %<00>j<02>j*<00><.__f<08><1A><<00><01>j<00>j<00>j<14>j<14>j<00><01>$<08><0E>jk*<00>;<01><<00><01>jkk<14>j<14>j<1B><>(k7k*<00>;<01>;<00>kEkPk(k1k<1B><>^kuk*<00>;%<25><>
s!<21>;<00>Pk<00>k<00>k^kgk&P<><03>k-__t
_;&<26><><03>k.__b
<EFBFBD>y;<00>$C <0C>k<02>k*<1E>*<2A>k.<2E><00>k<00>k<14>k&<26><>"l-__a<04>"
<EFBFBD>-__p<04>/<2F><>-__n<04>><3E><>&Y<>tl<1C><00><><10><>ק_Tp<00>%y<>+<2B><>%<05>C<><43>%<25><> ק<16><19><00>l<03>l*Q<>-__n%<1A>O<1B><><00>l<02>l*@;-__i #<23><>*<2A>l<00><><00>l<00>l<14>l<14>l&<1F><03>l-__a<04>&<10>&<26><>?m<1C>}<10><>קOy<4F>s'}O<05>s?}O<><4F>tקf<0E><15><1B>Mmdm*;-__i*;*?mx<>um<00>mMmVmb<><00>m<03>m*Q<>-__n5 <20>O<1B><><00>m<02>m*.<2E>.__ac%3<>*<2A>m4<><00>m<00>m<14>m<14>m5<><00>mn*̧9<>a*<2A>m<00><>nn<14>m&:<3A>5n%[W<04>C<10>=Cn<03>n*<00>B%<1D><1A>%<25>BaV-<1A>~V<><56><1A> <0C>UVLN<1A> WP<00>n<03>n<1C>W*<00>B%y<><1A>W%<05><1A>7W<04>c <0B>n<1B><00>n<03>n*<00>n<1B><00>n<03>n*<00>n<1B> oo*<00>n%o<o*<00>B-__a<1A>"<22>;*o<00>;MoXo%o.o<1B>fopo*<00>B<1B>~o<02>o*<00>B*po<00><00>o<00>o~o<04> <0B>o<00>o<02>o*<00>o*<2A>o?@<00>o<00>o<14>o<1B><><00>o<02>o*.<2E>*<2A>o^upp<14>o<04><> p<1B><>!p+p*p<00>m<00><><p<00>p*<00>B%<1D><1A><11>BaV<61><56><00>KV<>@<00>KaV_<56><00>>Vps<00> <10>&<26>~<03>p-__a<04>"]B-__p<04>/"~-__n<04>>a~,<00>p<03>p*<00>B<00>H<00>p!q*<00>B%<25>E<1A>>%w<><1A>*>-__s<1A>>F%|<7C><1A>><1B>/q`q*<00>B%w<>5!>%|<7C>51>-__s5CF<1B>nq<02>q*<00>BO<><4F><1A><17>.__a<1A>'<27>B*`q<00><00>q<00>qnqwq<14>q2<04><>&<26><><03>q_TpiB.__t ciB<1B><00>q<03>q*<00>B&<26><>r<10><>קOy<4F>קO<05>V)r?r*<00>;.__a<06>"<22>;*rQNPr[r)r2r&U<>rr.__rG<>1x<&<26><><03>r_Tpb.__r <0B><14>;&<1C><03>r_Tpb.__r /<16>;y <00>r<03>r*<00><>= <00>r<03>r*<00><>&?<3F> s
bF<00>M%1d
<EFBFBD>s1s*p-__c<1B>b&l<>sK|<7C>_II!<21>_OI!<21>%y<><10>!<21>%<05><10>%!<21>%<25><><10>1!<21>&<26><><03>sr2!<21>%<25><>H<>!<21><1B>&<00>s<02>s*<00><>9<>aaVLN <08><>*<2A>se<><00>s<00>s<14>s<00><01>s<00><01>s&<26>%tt<>8$.__f<08>!<21><
<04><>&<26><>:t_Tp8$.__t J8t&<26>%ftt<>N<>q8%1<>"~<<00>5c<><00>t<02>trR<00>tTN<54>*<00>;<00>
<EFBFBD>%~<<00>ft<00>t<00>trR<00>tTN<54><14>t<00>
<EFBFBD>%<14>t`<60><00>t<02>t<10><>N<>*<00>;%0
m(~<<00><01>t uu<10><>N<><14>t<14>t<1B><>/uEu<10><>N<>*\;.__h
<EFBFBD>'~<<00>u\ugu<10><>N<>/u8u[<5B>~u<03>u_Up<00>*<00><>%LN<02>ק=<3D><00>u<03>u*Q<>-__p,a<>-__n,)<29>O<1B><><00>uv<10><><00><>*s<>-__ns!h<>%y<>t<1A><>%<05>t4<><34>V<><56>v <0C><>&<26><>Fv_Tp<00>P/<2F><00><>-__i<14><1B><>Tv^v*<00><>7<>lvvv*<00><><1B><><00>v<03>v*s<>%<25>Ev<1F><>a<>__nxh<>&<1E><03>v<1C>}<10><>ק_Tp<00>%y<>+}%<05>C}%<25><> ק<16><1B><> ww*<00><><1B><>#w-w*<00><>M<>;w_w*Q<>-__n<1B>O-__a6a<36>*-w<00>_pw<00>w;wDwQwL<><00>w<02>w*<00><>9<>a*<2A>wl<><00>w<00>w<14>w<1B><><00>w<03>w*\<5C>&<26><03>w.__a^3<04><17><00>w<03>w*<00><>S <0B>w<00><01>x.x*xf<>O<19><10>&<xOx*<00>o9<>a*.x<00><>`xfx<x*.x[<5B>wx}x<x<1B><00>x<02>x*<00><>O<>5d*B*}xZr<00>x<00>x<14>x<14>x<04> <0B>x<1B><00>x<02>x*<00>x9<>a<13><>0*<2A>x<00>6yy<14>x<14>x<1B>y8y*<00>x9<>a<13><>0*y<00><>IyTyy.y<04><> Ty/<2F>my<02>y*Zy9<>a*_y<00> <00>y<00>ymy*_y(*<00>y<00>ymyZ<><00>y<02>y*Zy*<2A>yS<><00>y<00>y<14>y<1B><><00>y<02>y*Q<>*<2A>y<00>Rz z<14>yz<>z0z*ZyO<>P<1B>4<1B>>zUz*<00>B%<1D>T"<22>BJczyz*<00>BO<>@<1A>><1B><00>z<03>z*<00>BO<>g<1A>>&L<03>z-__dOW-__sO*F-__nO9>i<00>z<03>z*<00>B.__n<1A>><1B>{{*<00>B.__p<1A><17><1B>%{;{*<00>BOb<1A>>nI{S{*<00>B<1B>a{k{*<00>Bs y{<03>{*<00>B&c<><03>{<10><>ק_Tp<00>Oy<4F><03>קO<05><03><16>~<7E><00>{<03>{*Q<><1B><><00>{<02>{*Q<>9<>a*<2A>{T6| |<14>{<00>C<>X|2|*.<2E>9<>a* |<00>+C|I||}W|y|*<00>BO<><4F><1A><17>.__a<1A>,<2C>;*I|<00>u<00>|<00>|W|`|l|<00>|<03>|*<00>B<1A><00>|<02>|*<00>;9<>a*<2A>|Q<><00>|<00>|<14>|<1B><><00>|}*<00>;*<2A>|-<2D>}}<14>|<1B>'}1}*<00>B<1B>?}I}*<00>B<1B>W}j}*<00><>9<>a*I}<00>I{}<00>}W}<1B><00>}<02>}*<00><>.__m<0E>(<28><>*<2A>}<00>I<00>}<00>}<14>}<14>}&<26><><03>}_Tp<00>.__r /9<>&<26><> ~_Tp<00>.__a<10>n<>.__b<10>$n<>&<26><>_~&<26><00><10><>%|o<00>__ss V3t`V#v<13>=&<03>~ '`&<26><00><10><>.__d<1C>&<26><03>~&<26><00><10><>.__d<1C> F?<1C>%<25>&5 <0A><00>C<13><00>Cl%<25>_<1C>%[W<1C>$<24><>(<28><1C>4<><34>4<S<13><00>Cl*ε-__dT8<><38>*<00>Ov<00><13><00>Cl<E&<26><03> '<00> &<26><00><10><>l.__d<1C>4<EFBFBD><34>&/<03>&<26><00><10><>l.__d<1C>*<2A><> F?<1C>%l&<26><1A> ' &<26><00><10><>.__d<1C>&<26>O<>&<26><00><10><>.__d<1C> F?<1C>%<25> &<26><03><> <0A><00>C<13><00>C%<25>_B%[WC&?<03><> <0A><00>C<13><00>C%<25>_/%[W0<1F><>44<><34><00><><06>*<00><>
<04><12><06>!<21><06><1B>/<2F>E<>*<00>xO<>l$ <0C>&<15>o<>
bF<00>M%1N&B<><03><>_II!<21>_OI!<21>%y<><10>!<21>%<05><10>!<21>%<25><><10>'!<21><1B>%ρ<02><>t<>N<>q8*<00><>.__fv~<<00>v&af<61><66>E<00><01><><14>1<>t<>N<>q8ρ؁<00>v&<26><01><><00><01><>&y<>[<5B>t<>N<>q8O<><4F>Y~<<00>Y'&<26><><03><><00>6<>_FnN<>q8.__f;)~<<00>;5
y<>&<26><><03><>_TpN<>.__t J8<4A><38>i<>Ă΂*s<><1B><>܂ <0C>*s<>.__nCh<>af<61><66>Iv<>fpsJ <0C><>#<23><1A>$<24>*s<><1B><>2<>I<>*s<>-__x<02><1C><>*$<24><00>]Z<>e<>2<>;<3B><1B><>s<><02><>*V:9<>a*e<><00> <00><><00><>s<>}<7D><00><>ƒ*V:-__m a([:*<2A><><00>[Ӄރ<14><><14><>  ރp<00><><01>*<00><>X <01><1B><1A>6<>*<07>9<>a<13><>0* <0C>E<>G<>M<><1A>* <0C><00><>^<5E>d<><1A><1B>r<><02><>*<07>9<>a<13><>0%<25>51.B*d<>u><00><><00><>r<><14><><00>A Ʉ܄*<00><>9<>a*<2A><><<3C><00><><00><>Ʉ*<2A><>N<><04>
<EFBFBD>Ʉ<1B><><18>"<22>*s<>*
<EFBFBD>f3<>9<><18>&<26><>g<>F<00>M%<25><>,-__s,AF<1B>
u<><>*<00>B<1B><><00><><02><>*s<>9<>a<00><><00><><00><><00>g <01><><EFBFBD><08><>"<00>!@<40>{hh8<1C><><08>{#"!"@<40>{hh75<><08>{8"6"<08>{M"K"<08>{c"a"8<>{hh :<08>{x"v"@<40>uhh -<2D><08>u<00>"<00>"<08>u<00>"<00>"<08>u<00>"<00>"eh 8<>khh0<08>k<00>"<00>"l<00>"<00>"l##8Udhh<04> cd##xd,#*#ldG#E#7h<00><>8 |hh|\#Z#4<>whhX<08>wq#o#4<>mhh<06><08>m<00>#<00>#*V<00><><02><>*<00>;9<>a*<2A><><0E>·ԇ<14><><1B>U<00><><02><>*<00>;x@<00><><03><14><><1B>
<11><1B>*<00>B)<29><<3C>*<00>B9<>a*<1B><02>M<>S<>)<29><00><01><1A>e<>x<>*<00>B9<>a*S<><0E><00><><00><>e<><00> L <09>?<3F>d<00><01>_<EFBFBD>`<60><>P`<60><>Q<><01> <09> a<><00>#<00>#<00><01>U<><00>ret <09> ?<3F><00>#<00>#<00>lk <09>"<22><02>XA<58>},d<00> <09>8<03><08>}<00>$<00>$<08>}<00>$<00>$3<>r8d<00><0E>މ<08>r%%<08>r%%;<3B><>8d<00> <08><>u%q%[<5B>F<><46><00>%<00>%3<><33>8d(g%҉<08><><00>%<00>%]<5D><>8d8d<0F>{Pd7<>g<00><>4<>},d,d<0E>#<08>}<00>%<00>%Ai<41>hdP <09><19><>{<7B><00>%<00>%;3<>|dxE<>]&U&[xFN<46><00>&<00>&<00>Z<><00>F[<5B>'<00>&;<3B><><00>d<00>&<08><>x't'<08><><00>'<00>'A<><41>He <09>><13><08><><00>'<00>'<08><>@(6(An<41><00>eP<11><19><><08><><00>((A<><41><00>e<00><11>*<2A><08><><00>(<00>(<08><><00>(<00>(@G<><00>e<00>e<11>`<60>Y<><00>(<00>(b<><00>(<00>(@ <20><00>e<00>e<11><0F><>2<><00>(<00>(;<3B> ) )@G<><00>e<00>e<11>Y<>!))b<>;)9)@ <20><00>e<00>e<11>$<02>2<>Q)O);<3B>h)f)B<>f<00>yPuAI}<00>e<00> <09>8ŒW}<00>)|)I<>r f<00><0E><08>r<00>)<00>)<08>r<00>)<00>);}<7D>f<00>C<08><><00>)<00>)I<><49>f<00>y<08><>**]<5D><>ff { fA<><41><00>f <09>:9<><08><>**<08><>_*U*An<41>gH<11><18><08><><00>*<00>*A<><41>gp<11>J<><08><><00>*<00>*<08><><00>*<00>*@G<>@g@g<11><1B><>Y<><00>*<00>*b<><00>*<00>*@ <20>HgHg<11><0F><>2<>++;<3B>++)+@G<>LgLg<11>0<><30>Y<>A+?+b<>[+Y+@ <20>PgPg<11>$"<22>2<>q+o+;<3B><00>+<00>+B<>g<00>yPtQuAI}<00>g<00> <09>8<><38>W}<00>+<00>+I<>r<00>g<00><0E><08>r<00>+<00>+<08>r<00>+<00>+;}<7D><00>g<00>C<08><><00>+<00>+I<><49><00>g<00>y<08><><00>+<00>+]<5D><><00>g<00>g {<7B>g/@e{<7B><00><>P8/|f`<10>Q}/<2F>f{<7B>$<24>P8/<2F>g<00><>><3E>PuQ8B<>g<00><>PtQ87<>g<00><><00><01>w <09>?<3F>8c<00><01><><EFBFBD>`<60><>P`<60><>Q<><01>z <09> <0C><02>X<EFBFBD>lk <09> o<><00>+<00>+A<><41>hc<00> <09>2^<5E><08><>$, ,<08><>P,L,;<3B><>hc<00> b <08><>|,x,[<5B>F<><46><00>,<00>,3<><33>hc<00>g%R<><08><><00>,<00>,]<5D><>hchc<0F>{<7B>c7<>c<00><>Ae<41><00>c<00> <09>2<><32>s<><00>,<00>,;}<7D><00>c<00> i <08><><00>,<00>,I<><49><00>c<00>y<08><>--]<5D><><00>c<00>c {<7B>cBhc<00><>Q=R}<00><01> <09><18>bt<01>v<EFBFBD>`<60><>P`<60><>Q<>{<7B> <09> a<>2-.-<00>lk <09> o<>U-S-A<><41><00>b<00> <09>6<><36><08><>s-o-<08><><00>-<00>-;<3B><><00>b<00> b <08><><00>-<00>-[<5B>F<><46><00>-<00>-3<><33><00>bg%<25><><08><>..]<5D><><00>b<00>b<0F>{<7B>b7(c<00><>;e<>c0 <09>6s<>1./.;}<7D>c0 i <08><>K.I.I<><49>c`y<08><>e.c.]<5D><>cc <1A>$c<00><01><> <09>a<>Pbt<01><><EFBFBD>`<60><>P`<60><>Q<>(<28> <09>.<2E><00>.}.<00><02>L <09>-<00>.<00>.B<>b<00><>Q<13>R#34$<24>R#31$<00>_ <09>a<><00>ad<01>m<EFBFBD>`<60><>P`<60><>Q<><01> <09>E.<2E>//B4b<00><><02>@<15>l<06>-<2D>&<26>&{<14>G<EFBFBD>z<EFBFBD>?<1E>5<02>A<15>l<06>-<2D>&<26>&{<14>G<EFBFBD>z<EFBFBD>?<1E>5<00><12> |a<><00>a@<01><><EFBFBD>`<60><>P`<60><>Q<><01><> }.<2E>>/8/B<>a<00><>Q<03>R<00>[ pa<><00>`<00><01><19>`<60><>P`<60><>Q<> q.<2E>r/j/<00>$ ra<00>7pa<00><><00><01><> cT`<00><01><07>`<60><>P`<60><>Q<>h_l d<1F><><00>/<00>/<00>s_l d,<2C><><0.0<00>v_l d9<><39><00>0<00>0<00>h_u dF<><46>H1:1<00>s_u e <0A><><00>1<00>1<00>v_u e<1A><>T2F2<00>lk f o<><00>2<00>2A<><41>T` f5<><35><08><><00>2<00>2<08><>33;<3B><>T` b <08><>D3@3[F<><46>p3l33<><33>T`Pg%{<7B><08><><00>3<00>3]<5D><>T`T`<0F>{<7B>`7<>`<00><>;e<><00>`<00> f5s<><00>3<00>3;}<7D><00>`<00> i <08><><00>3<00>3I<><49><00>`<00>y<08><><00>3<00>3]<5D><><00>`<00>` <1A><01>`<00> e 7a<>`_<00><01><1E>`<60><>P`<60><>Q<><01>_0<00><>} a}8 ~<00>_<00>_0 G )~e<>_0<00>6~<00>D~<00>Q~<02>h@<40><00>_<00>_s3<><33> <0A>e<>_4<1A><00>_<00>_<1C>6<>e<>_4ҿ<00>_<00>_<1C>C<14><><08><><00>3<00>3@<40>~<00>_<00>_tA#<23>44<14>~e<>_@<00>_ <00>_<1C>"<22><>E,4*4<@<40><00>_
<00>_U!<21><><08>F4D4e<>_4<><00>_ <00>_<1C><08>`4^4e<>_4<1E><00>_ <00>_<1C>C><3E>5<>8<><38><00>_<00>_U.<14><>8<1E><00>_<00>_<1C>7><3E>5<>@_~<00>_<00>_t8<><38><14>~e<>_4<>~<00>_<00>_<1C><14>~e<>_4=<3D><00>_<00>_<1C>C]<5D>T<>z4x47<>_<07>B<>_<13>PvQv/<2F>_<1F>ӘPu/<2F>_+<2B><00><>Pu7<>_7<>7<>_7<>7<>_C<>7<>_O<>7`O<>7`[<5B>j5<>L<><13><00>*ε%<25>OM-n<>*<1E><00>Rf<>q<><13><00>5<>><3E><00><02><> a<><00>[<00><01>Ο`<60><>P`<60><>Q<><01> .<2E><00>4<00>4<00>x<> (.<2E>k5U5<00>fps 5.<2E><02><00><01> J<><00>ret  -6<00>5<00>P<>  <20>-<03><>{<7B>9<><00>[ A<>Y<>L<>B<>[<00><>PvR%<00>9<> Fs<46>Y<>L<>B\<00><>PtR1A!<21>\ !<21><>8<>/<2F><00>6<00>6IE<49>\ q a<><00>6<00>6A s(\@ O<13><>#s7717sm7c7A_i(\` <1B><1A>ri<00>7<00>77H^<00><>;<3B><>0\x <1B>1<08><><00>7<00>7<08><>8 88<><38>p]p]8h<08><>18/8<08><>G8E8/x]<00><00><>Pt<00><01>]PtQ:@<40>rH\H\Oӛ<08>r\8Z87L\/BH\;Pz<00>9<>] &<1C>Y<>L<>B]<00><>PvR.A!<21>]<00> &Kv<4B>8<>/<2F>IE<49>]<00> q a<>A s$]<00> O2<>#su8o8sA_i$]<00> <1B><1D><>ri<00>8<00>87^<00><>;<3B><>,]<00> <1B>1<08><><00>8<00>8<08><><00>8<00>88<><38><00>]<00>]8h<08><> 9 9<08><>!99/<2F>]<00><1D>Pw<00><01>]PwQ:@<40>rD]D]Od<><08>r69497H]/BD];Pv/<2F>[H<00><>PvQx/\H<00><>PtQw/\\g<><00><>Pt/<2F>\s<>ҝPt/<2F>\<><00><>PwR
<EFBFBD>/<2F>\<00><><01>Pw/<2F>\<00><>"<22>PxQw}y/<2F>\<00><>6<>Pt/P]<00><>J<>Pt/d]<00><>]<5D>Q1/<2F>]<00><>p<>P8u<>]<00><>Pw/^<00><><00><>Pw/^<00><><00><>P8u,^<00><>Pw/D^<00><>˞Pw/P^<00><>ޞP8u`^<00><>Pw/x^<00><><02>Pw/<2F>^<00><><15>P8u<>^%<25>Pw/<2F>^<00><>9<>PwB<>^<00><>Pw<00>ğ<00>e 0&ΟK9I9@!<21><00>^<00>^ 1#<23><>8<>/<2F>`9^97<>^E<>7<>^<00><>7<>^9<>7<>^<00><>7_<00><>7_<00><>
<14><00><01>9<00>N<00><01><><EFBFBD>|p <09>!<21>}9s9|.<2E> <09>-!<21><00>9<00>9<00>lk <09> o<>:<00>93<><33><00>N8 <09><08><>::<08><>J:F:;<3B><><00>N8 b <08><>v:r:[8F<><46><00>:<00>:3<><33><00>N`g%Ơ<08><><00>:<00>:]<5D><><00>N<00>N<0F>{<7B>N78O<00><>\o<><00>N<00>N <09> <1B><08><><00>:<00>:<08><>; ;<08><>(;&;81s<00>N<00>N<10>qsF;@;dst;r;Ws<00>;<00>;8i<00>N<00>N<10>-<08>i<00>;<00>;<08>i<00>;<00>;<08>i<00>;<00>;e<>NF<>i< <8c<00>N<00>N<10>>c(<"<1cV<T<$cp<n<e<>NFKc<00><<00><B O<00><>P<03>PQvRH\o<> O O <09> c<><08><><00><<00><<08><><00><<00><<08><><00><<00><81s O O<10>qs<00><<00><ds<00><<00><Ws==8i O O<10>-<08>i2=0=<08>iG=E=<08>ia=_=e OF<>i{=y=8c O O<10>>c<00>=<00>=1c<00>=<00>=$c<00>=<00>=e OFKc<00>=<00>=BO<00><>PwQvRHIe<49>O<00> <09>5s<><00>=<00>=;}<7D>O<00> i <08><>
>>I<><49>O<00>y<08><>$>">]<5D><>OO <1A>4O<00><01>9<00>M`<01>S<EFBFBD>|<03> <09>"-@><><00>lk <09> o<>e>a>3<><33><00>M <09><08><><00>><00>><08><><00>><00>>;<3B><><00>M b <08><>??[F<><46>j?f?3<><33>N@g%Ȥ<08><><00>?<00>?]<5D><>NN<0F><1A> NPt7@N<00><>Ie<49>(Np <09>8s<><00>?<00>?;}<7D>(Np i <08><><00>?<00>?I<><49>(Nxy<08><><00>?<00>?]<5D><>(N(N <1A><N<00><01>9LNp<01><><EFBFBD>|W<> <09>"<22><00>?<00>?<00>lk <09> o<>'@%@3<><33>LN<00> <09>2=<3D><08><>E@A@<08><>q@m@;<3B><>LN<00> b <08><><00>@<00>@[<5B>F<><46><00>@<00>@3<><33>LN<00>g%1<><08><><00>@<00>@]<5D><>LNLN<0F>{|N7<>N<00><>Ie<49><00>N<00> <09>2s<>AA;}<7D><00>N<00> i <08><>AAI<><49><00>Ny<08><>7A5A]<5D><><00>N<00>N <1A><01>N<00><02>9<00>L<01><1E>|"F <09>UAOA|<03> <09>2-<00>AA|<7C> <09>?-<00>A<00>A|x<> <09>J-<00>A<00>A<00><01><> <09>-<02><00><01>C <09>$-<02><04>t <09><0F>!<02>@&<26> <09><13><><00><01>_Cm<>x<>y:-<00>o<><00><>r<> N<>mk<00><> :<00><03>a<00><01>a<00>x<>a<00><01><>a<00>"Fݧa<>lk <09>o<>f/<2F> <09>
<EFBFBD><EFBFBD>f<>= <09>ק<00><1D>fuY <09>ff<>f <09>fa<>y <09>-a<>lk <09>o<>fυ <09> -f<><66> <09>ק<00>b<>f<><66> <09>קa<>i <09>-a<>i <09>- <01> <09>&- <0A> <09>"- v<> <09>*- <0A><> <09>$- F <09>ק3<><33><00>L<00> <09>3<>؁$BBρqBkB3N<33><00>L<00>w<08>\<5C><00>B<00>B<00><01><><00><00><01><>3:t M<08> <<3C>Rt<00>B<00>B;ft M <08>t<00>B<00>B<08>t<00>B<00>BA<>t M@
<EFBFBD>=<15><08>t CC<08>t"CCAu M
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
p
n&<26><>8uDCBC/u]CYC4<><34> M M
<EFBFBD>%<08><>C}C8<><38> M M
n&<08><><00>C<00>C8<><38> M M
<EFBFBD>=<08><><00>C<00>C\<5C><> M M<08> d<><08><><00>C<00>C3<>s,M<00><08> <09><>t<00>C<00>C[<5B>3<>jLM<00><08>9<><08>j0D*D<08>jcD]D3<>jXM<08>E<EFBFBD><45><08>j<00>D<00>D<08>j<00>D<00>DIkXM<08>1k<00>D<00>D(k<00>D<00>D;PkXM
<EFBFBD>gkEE^k8E6EAuXM H
u1<><31>8uUEQE/uyEwE4<><34>XM
XM
<EFBFBD>%<08><><00>E<00>E@<40>kXMXM
u<08>k<00>E<00>E8<><38>XMXM
u1<08><><00>E<00>E\<5C>kLMLM<08>E<14><08>k<00>E<00>E4tXMXM<08>E-t<00>E<00>E3OjpMx<08>;y<>pjFFgjFFIdpMx <0C> ,d4F2F#dKFIF\X_pMpM <0C>+S<>z_cFaF8<>_pMpM
<EFBFBD><08>_{FyF\ `pMpM
<EFBFBD>-<2D>`<00>F<00>F8<`pMpM
eJ`<00>F<00>F4<>_pMpM
<EFBFBD><08>_<00>F<00>F47jpM
pM <0C>8Ej<00>F<00>FB0M{<7B>PH\<5C>s<00>M<00>M<08>&R<><08>s<00>F<00>F<00><01>s<00>MF<>s G G@7j<00>M<00>M <08><>Ej#G!G@j<00>M<00>M <1E>-j;G9G8<>i<00>M<00>M  jSGQGjkGiG\<5C>s<00>M<00>M(<08>&<1A><08>s<00>G~G<00><01>s<00>M(F<>s<00>G<00>G@7j<00>M<00>M <08><>Ej<00>G<00>G@j<00>M<00>M <11><>-j<00>G<00>G8<>i<00>M<00>M  j<00>G<00>Gj<00>G<00>GB<>M<00>#PtQ<03><>3<><33><00>M<00> <09><04><>Ⱦ H H3<><33><00>M<00><08><13><><08><>"H H4N<34><00>M<00>M<08>\<5C>7<>M<00><>3<><33><00>M<00> <09><00>Ⱦ7H5HI<><49><00>M<00><08><08><>LHJH4N<34><00>M<00>M<08>\<5C>/<2F>My#<14>Pt7<>M<00><>
<EFBFBD>,<2C>B<>*<00>8.__n<07><1C><>&><3E>e<>.__t7<1B>8.__n7,<2C>O<1B><>s<><03><>*<00>8.__n<07>:<3A>&<26><><03><>.__t7<1B>8.__n7,<2C>O%7<04>-<00>:W<00><01><1B>|<7C>P _<1D><>}H_H|P<> _@<40><>CI?I|<7C> `wyIaI|x<> `2w.JJ<00>fps `Gw<02><00>S a-<00>J<00>J<00><02>I n<1A>(<03><>}<7D>h <00><><00>msg i<19><03><>~39<33><00>X<00> j ȱY<><00>K<00>KL<>L L/<2F>Xa<><00><>PuB<>X<00><>PtQu3<><33>Y<00> k%<03><08><>&L"LBY
xPuQ<03><>~\<1B>(Y(Y k&ij)<29>FLDL@}(Y(Y<1A> V<>'}[LYL\S{(Y(Y<1A><06><>a{pLnL4<>p,Y,Y<1A><08>p<00>L<00>L4{8Y8Y<1A>.{<00>L<00>L%{<00>L<00>L4<>p8Y8Y<1A>"<08>p<00>L<00>L<08>p<00>L<00>L<08>p<00>L<00>L8<>f8Y8Y<04> <08>f MMgMM<08>f8M6M7<Y<00><>8S<38><Y<Y<1A>e<>MMKM4<><34><Y<Y<1A><08><>bM`M4<>|<Y<Y<06><08>|wMuM\<1B>P[P[T k&5<>)<29><00>M<00>M8}P[P[T<1A> '}<00>M<00>M4S{P[P[T<1A>a{<00>M<00>M/<2F>X<00><>N<>PtQ@/YHh<>PtQz/Y<00><>{<7B>P8u(Y<00><>PvQuBTY<00><>Pv<00>hZ<00><00><><00>msg t<19><03><>~39<33><00>Z<00> u <1C>Y<><00>M<00>ML<><00>M<00>M/<2F>Za<><05>PuB<>Z<00><>PtQu3<><33><00>Z<00> v%W<><08><><00>M<00>MB<>Z
xPuQ<03><>~\<1B><00>Z<00>Z v&<18>)<29>NN@}<00>Z<00>Z<1A> <09><>'}1N/N\S{<00>Z<00>Z<1A><06><>a{FNDN4<>p<00>Z<00>Z<1A><08>p[NYN4{<00>Z<00>Z<1A>.{pNnN%{<00>N<00>N4<>p<00>Z<00>Z<1A>"<08>p<00>N<00>N<08>p<00>N<00>N<08>p<00>N<00>N8<>f<00>Z<00>Z<04> <08>f<00>N<00>Ng<00>N<00>N<08>fO O7<>Z<00><>8S<38><00>Z<00>Z<1A>e<>#O!O4<><34><00>Z<00>Z<1A><08><>8O6O4<>|<00>Z<00>Z<06><08>|MOKO\<1B><00>Z<00>Z v&<26><>)<29>bO`O8}<00>Z<00>Z<1A> '}wOuO4S{<00>Z<00>Z<1A>a{<00>O<00>O/<2F>Z<00><><00><>PtQ@/<2F>ZH<00><>PtQz/<2F>Z<00><>ϷP8u<>Z<00><>PvQuB<>Z<00><>Pv<00><01> <00><><00>msg <09><19><03><>~39<33><00>Y <09> l<>Y<><00>O<00>OL<><00>O<00>O/<2F>Ya<>U<>PuBZ<00><>PtQu3<><33>(Z( <09>%<25><><08><><00>O<00>OB0Z
xPuQ<03><>~\<1B><Z<Z <09>&h<>)<29><00>O<00>O@}<Z<Z<1A> <09><>'}PP\S{<Z<Z<1A>B<>a{PP4<>p@Z@Z<1A><08>p1P/P4{LZLZ<1A>.{FPDP%{\PZP4<>pLZLZ<1A>"<08>pqPoP<08>p<00>P<00>P<08>p<00>P<00>P8<>fLZLZ<04> <08>f<00>P<00>Pg<00>P<00>P<08>f<00>P<00>P7PZ<00><>8S<38>PZPZ<1A>e<><00>P<00>P4<><34>PZPZ<1A><08><>Q Q4<>|PZPZ<06><08>|#Q!Q3<1B>0[@ <09>&<1D>)<29>8Q6QA}0[X <1A> <09><>'}MQKQ3S{0[p <1A><06><>a{bQ`Q4<>p<00>Z<00>Z<1A><08>pwQuQ4{[[<1A>.{<00>Q<00>Q%{<00>Q<00>Q4<>p[[<1A>"<08>p<00>Q<00>Q<08>p<00>Q<00>Q<08>p<00>Q<00>Q8<>f[[<04> <08>f<00>Q<00>QgRR<08>f*R(R7 [<00><>8S<38> [ [<1A>e<>?R=R4<><34> [ [<1A><08><>TRRR4<>| [ [<06><08>|iRgR/<2F>Y<00><>6<>PtQ@/ZHP<>PtQz/Z<00><>c<>P8u<Zy<>PvQu/hZ<00><><00><>Pv/[<00><><00><>PvB[M<>Pt<00><01> ߼<00>`c <09>$L'<03><>~B8X<00><>Q<03><>~74W<00><>/TW<03><00><>Qt/<2F>W<00><><11>Q<03><>}/<2F>W<0F>.<2E>Q 7Rz/DX<1B>B<>Qy7<>X'<27>7<>X3<>/\Y<00><>g<>P8ulYw<>Pt/<2F>Y<00><><00><>Pt/<2F>Y<00><><00><>P8u<>Y<00><>Pt/<2F>Y<00><><00><>P8u<>YѽPt/<2F>Y<00><><00><>P8u<>Y<00><>Pt7 [<00><>/<[<00><><11>Pt7@[<00><><00><01><>^ -<2D>7<>*<00>8*<1B><18>H<>N<>-<2D>I"\<5C>f<>*<00><>*N<>u<>w<>}<7D>\<5C>&%<25><03><>-__x<19>!-__y)<29>!?#<00><><03><>*<02>i"Ⱦ۾*<00><>9<>a<00><01><><00><><00><>Xh<01>N<EFBFBD>Ⱦ<00>R|R3<><33>Xhh<08>D<><08><><00>R<00>R4N<34>XhXh<08>\<5C>7lh<00><><1B>!\<5C>f<>*ڶ*N<>ܤw<>}<7D>\<5C><1B><00><><03><>*.<2E>F<00><><03><>*.<2E><00>__eg -<1B> ȿҿ*<00><1B> <00><><00><13><00>*<00><>%<25>OM-n<>*ҿG<><1A>%<25><13><00><14><><14><>3<>=<3D>*c<><1B> T<>k<><13><00>*L<>%<25>OM-n<>*=<3D><00><00><><00><><13><00>T<>]<5D><1B><00><><03><>*Zi-__c<b<1B><00><><03><>*Zi-__chb&E<><03><>.__a6<>p.__b6<>,p&d<> <20>.__a6<>.__b6<>.jE<6A>& 2<>G<>*$<24>-i&!-j!<21> Y<>n<>*5<>-i '-<01><><02><>*$<24>*n<>{:<00><><00><><14><>j<0E><11> <0C><><03><>*<13>-i<11>$-<11><01><><02><>*<08>-_p<11><17><>*<2A><><00><><01> <0C><14><><14><>jf~<11><1E>3<>*h<>-m<11><1D><>j<>| E<>i<>*<00><><00>p$ fa<>i%-j<>|{<7B><03><>*<00><>j|<05><><03><>*<00><>jpy<11><06><><03><>*h<>a<>i<11> -j<>x<11><06><><1B>*h<>%<25><><11>-%<25><><11>!-%<25><><11>,-<00>sz<11> j<>sL-<2D>@<40>*h<>9<>a<00><1B><00>\<5C>lh<00><01><><EFBFBD>-<2D><00>R<00>RA<><41>|h<00>N <0C><><08><><00>R<00>R<00><01><><00><00><>F<><46>2S.S7i<00>y7<>h<00><>j<>q<11><01><><02><>*h<>-m<11>Z<>*<2A><>|7<00><><00><14><><14><>jgpS<12>C<>*h<>%<25><>S-%<25><>S-%<25><>S$-*<00>y<>T<>i<><12><1B>(<28>5<>jGpM{<7B><02><>*h<>*i<>'j<00><><00><>{<7B><00>><3E>-<03><>%(<28>,o<><00><02><0F>-<03><>%(<28><0F>*o<><00>@j<0F>-<03><>f<>I<0F>F&<26>N/<2F>%<25>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
\;%H\. ;-__n\;<3B>O&<26>Na<>%<25>
T;%HT. ;-__nT;<3B>O&<26>Ny<>-__s< ;&<26><><03><>
b.__s<17>'F&w<><03><>.__p<17>+;<00>__i<17><13>O&<17><03><>O:<3A>d%;O?<3F>d2%;&N<05>%:<3A>;%?<3F>0;
X<00><02><><00>z<00>g<01>9<EFBFBD><08><>USQS<00><02><>Q<00>a<>ɏ i<01>q<EFBFBD>k<>zSvS<00>i?<3F>P<03>P<00>UUJ0<4A><00><>*x<07><01><><>J<>Y<00><>*|<06><01><><00><><00><><><00><><05><01><><00><>J<>7<00><>*<2A>JU<4A>U<><00>LJ<>L<00>L<00><>J<>T<00>T<00><>J<><4A><00><><00><>J<03><03><00><>J<><4A><00><>p% Jȇȇj<> J <0A> <0A><00><>J<><4A><00><><00><>Ji<4A>i<><00>J<>K<00>K<00><>Joo<00><>J<><00><00><>J<>w<00>w<00><>Jm<4A>m<><00><><05>R<>H<>J<><00><00><>JS<4A>S<><00><>Jp<4A>p<><00><>Jd2d2<00><><05><01>a<00>a<00>y<>y<><00>ѳѳ<00><01>&<00>&<00>GGJu<4A>u<><00><>J<><4A><00><><00>'J<><00><00>aJunun<00>gJr<4A>r<><00><>J<>Z<00>Z<00>|J<>"<00>"<00><><0F><01><><00><>(Kd<> <09><00>{i <00>3~<7E><07><><07><><07><><06><><03>%%<05>+<03>4',<03>c(sint<03>|)3<15>.,<2C>"<22>+<2B>/.<2E><07><>,iA%<25><03>|<04><19>'<27>m<><04><1B>+<2B><04><1A><03>8<04>!<21><04><08><><07><03>cg<17><13><03>H<03>4[<03>|z-<2D><14><03>8<07>! D<03><>i<0F><03>6 <09>3<04><04><08> <09><03>.
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
E<11><04>
<EFBFBD><00> <09> 3
J t<> <0C><> <1C> j<> [<5B> <0C><> <0C><> U<> 7<> v<> 0<>
 <0C>
V<03> <0A><> 4<0E><> <0C>ܝ <15><04>4<0F>O3) <0C>?<11>N <0C> s#N <0C><11>+ <0C>?<11>N <0C> s%N <0C><11> <0A>[ X<10><0E><> Z$<24><04><03><> [<03> <0A><11>w<> <0A>s:L <0A><17> ~J v;<0E>{ xs<0E> y3<0E>g zsm<> <0A>s <0E><> <0A>3<14> <0A>_ <0A>3<0E><> <0A>3 <0A><11><13><> <0A>*<2A>
 <0A>; <0A><05> <0A>3<0E><> <0A>3 <0A><11>y# <0A>*<2A><13> <0A><07> <0A><>0 <0A>"_<14>q<> <0A>"{<7B> <0A>"<0E>C <0A>3 <0E> <0A>3$<0E><> <0A>"(323<03><>:K<>13C x/E<1C>bFxĬG <0C><0F><00>3<03>tHJ0K <09>/M<1B>bN<08>ĬO<1F><0F><00>3/<03>gP<03> b Ĭ! <0C><0F>3<03><>"<03>{1)<04>5<>$<0E><11>2 s<11><>7 s [; sep s:<00>3@p_<><1A>`<60><1A>0<>`%<25>a3<03>n<1F> <0A>Nh{,<0E><>}2<0E>H<14>*><02><13> <0E> <02>sP<0E><><02> T<0E>u<02> }\j<02>
<EFBFBD>`<03>N<02><03> <0A><><02>`pfn<02> }cxt<02>
<EFBFBD><03><><02>8 <0A>-<00><02><0E><><02>2<0E>;<02><1B>arg<02>
<EFBFBD><0E><><02><15> 6<02>, <01><02>s<00>9<><02> }<00><0E><02>
<EFBFBD><00>]<5D><02><12><00><18><02> <00><0E>9<02><12><00><12><02><00>`&3<03>-<02>l<11>g<02> s><3E>d><04>e3P<0E> 1<> <0C> ,<2C> T" [<5B> <0C><>eXQk<04><19>Gl3 e#f
h<15><18>i4<0E><>j
<0E><>m<06> <1D>n3?Ao
<EFBFBD><04>e#p<03><03><><13>(.> s sI<02><13>><03>'3ĩ)3 r <09><0E>sa<0E>tsx<>us<15>vs%<08>K<07><03>/<0F>0<0F><03><>1<0F><03>M2<0F><04><03>7V<0F>wz73 3/<01> & <0C><> Y <0C><> <0C>m |<7C> <0C><> "# <0C><> <0C><> 
 E<> % e<> <0C><>q<><00><><EFBFBD><03>B E <09> xG yH <0E>I x<>J  JK<03> N <09> numP denQ <03><>R<03> <03>5\3 3,B
<0C><> <0C>i <0C><> <0C><> <0C>b*<2A>2
,6 <09>
<0E>83x<>93!Y:<14> @<40>;<14> par<<14> <0E>B>
(CN
<1F>G<10>
<0E>LI 3U^J 3;<3B>L 3<0E>M 3 <1F>Q<03>
U $ <0E><>W 3<0E><>X 3y<>\ ,` ^ <13>`b<1D>
uFc<1D>
<13><>d$ <03><>e0 <05> <19><10> <0E><><19>B
<0E><><19>
Pj<19>
es<19><1F> <0E><19> 3<0E><><19> 3<0E><><19> 3<0E>6<19>m^ <05><19>j (, / 4b- 3<,. / -<2D>0 / <0E><>2 3$3? 3<03>b5<03> (8 a uF;(? t}=K <0A><>8E <0E><>G! <0E><>I)" cmdK 3EdNm <0E><>P 3-
Q 3<,S 3<0E><>U 3ptsX  dtsZ (<0E><>_(( 0<0E><>a
<EFBFBD>4m <1C><> a <03><>cm . 3<<06> <0C> <0C>  ]b /" <0C><> <05> <0C>/ <0C>E <0C> ]<5D> "O
G\ k<> l<> ` Ms<00> 3= <1C><01> <0F><00> 3 3. Z<> <0C>Q m  <0C><> Q,t<><00><><EFBFBD><EFBFBD>F6<03> <0E>@O<0E><>Q <18>R4<0E><>Ts U ' <0E>wV 'm<>X 3<0E><>Y<0E><>[ 36 ] 3b<>_ 3 a<>b 3$ e 3(џh 3,j 30q<>m<1D>4L n!<21>8<0E><>p 3<<1C><><04> #!80<10><0E><>3%L 6&<18>94m<>< 3 <0E>C<11><03>E3<0E>&F<0E><>H34PI L<>K3$A<>L(_oN3,w<>O0idS 34<1C>U<04><0E>u<04><1C>4<04>߄
<04>4<>+'4<> <0A>R +a;<3B> -a<0E><> . 3<0E><> /g: <03>R 0,m ^<5E><00>!1<0E><>!3s<0E>X!6 <09>UE!7 <09><0E><>!8 <09> <0E><>!9 <09><0E>e!: <09><0E>Q!; <09>H<>!< <09><0E><!= <09> <0E><>!@ <09>$<05>!A <09>(<0E>V!B <09>,h<>!D0<0E><>!F%4<0E>!Hs8<0E><>!Is<<0E>i!J <0B>@@q!M,DX<>!NAFJ6!O<08> G<0E>{!Q+H;,!Y <0A>P,![6XQ!\A\!]%`o-!^ <09>d<0E><>!_
jh<0E>5!`sl<0E><>!bGp<03>_")<29>!+3<>)1N<<0F>W3'<11>#<23>c<11><>#<23>cH#<23>c<11>$ s:<00><07>$<1A> 3%"<0E> <0C>{`%%<03> <0A><>0%)tO<>%, <09><0E>M%/ <09>?<3F>%3 G<>%7  d<>%; {<7B>%? <0E><>%B <09>C<>%E <09>r<>%I : <16>%M
K$<0E><>%P
K(u<>%S
K,
s<00> <09><04><1E>0<00>%r<10><0E>0%ss<0E><>%ts<0E><>%u<10><0E>Q%vy 3<>%wat<>%x&<0E>X%y<10><00><1F><>%{ 3z<>%}s<1F><>%<25> <1F><>%<25>  z%<25> <1F><>%<25>  x%<25>  y%<25> <1F>%<25>  x<>%<25> $\<5C>%<25>s(C<>%<25>s, %<25><18>0<1F><>%<25><1B>4wF%<25>8)<29>%<25>/<<1F>-%<25>U@ win%<25><19>DV<>%<25>LPmC%<25><0E>T<10>%<25><0E>Xj%<25><0E>\<1F>%<25><11>`F<>%<25>
 d<02>%<25><0F>hN<>%<25>
 lj<>%<25><0F>pk<>%<25>
 th%<25><0F>x<1F><>%<25>
 |<1F>{%<25><0F><00><1F>v%<25>: <00>/<2F>%<25><14><00> ops%<25>Q<00>7<>%<25> <09><00>b<>%<25>s<00>r<>%<25><14><00>t
s <09> <09><04>
s. <09> . 4mjK <09>@<03><>%T<03> <0A>+,%V<10> <20>%X<14><02>%[<14>=<3D>%^ m d%a
j$5<>%es(<03>+%f]<03><>%i_-%j<10><04><08> <09> s s s s s%<03>C%k " " "(<04>c!%l;AL ?^<03>0%<25><03><16><>& s %N'4<08>[<5B>'6 s,<2C>'7 sk!<21>;<3B>("p<><01>sDs<00><01>M#<23>P<01>$M<00>S<00>S$S<01><00>S<00>S%<25><>c<03><>&<26>s<00>&'Pu'R0'}u&<26>s<00>&7'Pt'Q2(<28>s<00>&'Pt'Q5R<0F>c3S) <0A><01><06>r<00><01><>#<23>P<01>$M<00>S<00>S*t$<00>r<00>r<01><03>+<2B>$=T;T,<2C>r-<2D>$(<28>r<00>&'Pu*($<00>r<01>r<01>"+6$RTPT,<2C>r-C$(<28>r<00>&'Pu*t$ss<01>i+<2B>$gTeT,s-<2D>$(s<00>&'Pu.($s@<01><03>+6$<00>TzT/@-C$0$s<00>&'P<06>P#<23>&s<00>&<00>'Pt'Q0(4s<00>&'Q5)<29>w<01><06>q<00><01>#<23>P<01>,M<00>T<00>T(<28>q<00>&'Pt'Q0'R
<EFBFBD>)<29><><01>q<00><01>n#<23>P<01>'M<00>T<00>T%<25><>~t<>*<2A>$<00>q<01>q<01><03>+<2B>$6U0U,<2C>q-<2D>$(<28>q<00>&'Pt<>*(%<00>q<04>q<01><03>+6%kUeU,<2C>q-C%(<28>q<00>&'Pt<>.(%<00>q(<01>,+6%<00>U<00>U/(-C%0<>q<00>&'P<06>P#<23>1Hq<00>&1`q<00>&2|qN'Pt2<>q^'Pt(<28>q<00>&'Q5<0F>~3n"m<>hs<00>o <01><>#<23>Ph#M<00>U<00>U$Si<00>U<00>U3rcjs%V#V%<25><><00>d<>47B<01><01>p.<2E>$@p<04>r ^5%<06>L<EFBFBD>+%>V8V/<2F>6%qVmV&Dp%'S'Pu<>'Q01<>p2'.<2E>#8p<00>n<03>7 $+$<00>V<00>V.n%Lp<02>y+<2B>%<00>V<00>V+<2B>%
WW+<2B>%2W*W/<2F>6<>%sWoW&\pj'<00>'Pu<>'Q0'R11<>p2'.n%dp} y+<2B>%<00>W<00>W+<2B>%<00>W<00>W+<2B>%<00>W<00>W/6<>%<X8X&tpj'n'Pu<>'Q0'R01<>p2'1pv'&$p<00>'<00>'Qt&<26>p<00>&<00>'Pt'Q2(<28>p<00>''Pu<0F><00>3 <07>"S<>%s<00>m<01>]#<23>P%5MbXZX#<23><>&2<><00>X<00>X$S'<11> <00>X<00>X%<25><>mD<>8end`&(n<00>'e'Pt'Q4'R1&\n<00>&~'Pu'Q2&pn<00>'<00>'Pt&<26>n<00>'<00>'Pt1<>n<00>'&<26>n<00>'<00>'Pt&o<00>&<00>'Pu'Q2&(o<00>&<00>'Pu'Q5'}t&Ho<00>&'Pu'Q2&lo<00>&.'Pu'Q5&<26>o<00>&G'Pu'Q2(<28>o<00>&'Pu'Q2<0F>m3]9<><39> <01>:w<>,<2C>;bufH: <<3C>PM=q<><01><0E>i<01>9#>arg<01>#<23>=Y5Y?<3F>P<01>MyYqY?<3F><><01><10><00>Y<00>Y@buf<01>: <00>Y<00>Y@st<01><11> ZZ@rc<01>s1Z-Z%<25><>c<04>Aend<01>B9#<00><01> <09>!7J#/<2F>6V#[ZOZ6b#<00>Z<00>ZC<>#Lj8<01> <0C>!+<2B>#
[[+<2B>#Q[I[/86<>#<00>[<00>[D<>#kC<>#<00>jx<01><07> +<2B>#<00>\<00>\2dj!'Pt2<>j!'Pt2<>j !'Pt2<>j0!'Pt1<>j<00>'2kI!'Pt&Xk<00>&b!'Pv'Q2&<26>k<00>&<00>!'Pv'Q5'Rz'Sy&<26>k<00>&<00>!'Pv'Q2&Ll<00>&<00>!'Pv'Q2(tl<00>&'Pv'Q21,j<00>'(<28>l<00>&'Pv'Q2Et$<00>i<02>i<01>."7<>$,<2C>i-<2D>$(<28>i<00>&'PxE($4j4j<01>l"76$,4j-C$(<j<00>&'Px2Hi|"'Pt2\i<00>"'Pt1<>i<00>'&<26>i<00>'<00>"'Pu&<26>i<00>&<00>"'Pv'Q2'Rw1<>i<00>'1<>i<00>'2j<00>"'Pt&<26>k<00>&
#'Pv'Q5'}u&l<00>&##'Pv'Q5(<28>l<00>&'Pv'Q2F<><46><01> s}#G<>P<01>:MHbuf<01>: Hrc<01>s%<25><><00>#$<24><0F><00>#3}#F<><46>k s<01>#G<>Pk*MIbufkG: Hrcls%<25><><00><14>Aend<01>F<><46>Y s<01>#G<>PY,MJ<><4A><03>"$G+<2B><03><"$G<03>W<EFBFBD>9C<39>Y$:<3A><>&Y$KrcsL<><4C>o$<04><0F>o$3_$M<1A><02><03>$:<3A><><02>-Y$Krc<02>sL<><4C><00>$<0F><00>$3<07>$9<1A><02><03>$:<3A><><02>&Y$Krc<02>sL<><4C>o$M<><4D><02>(%:<3A><><02>/Y$:<18><02>B4Krc<02>s9<><39>NY%;semN.KKrcOsL<><4C>i%<0F>i%3Y%M<><4D>D<03>%;semD7K:<18>E14:;<3B>F3<>KrcGsNrm<00><01><>&+<2B><00>\<00>\+<2B>r]V]6<>'^^.r<00>m<00> N&+<2B>v^j^+<2B><00>^<00>^/<2F>-<2D>O<>m<00>'=&'P<03>Q(<28>m<00>&'Q5Olm<00>'c&'P<03>QO<>m<00>'x&'Q<03>Q(<28>m<00>&'Q5PQ<50>Q<>)f"P<><50><00><><03>Q<><51><00><>*<2A> Q<><51><00><>* P<><50><00><>){RR<52>H<>0Q<><51><00><>*<2A> P9<50>9<>+& P<><50><00><> sPa<50>a<>lS!<21>photonvision preview stop lockQ(<28>(<28>*<2A> P<><50><00><><02>"S<12>glcap_start_semS<16>glcap_completed_semP<><50><00><>+# Pg<50>g<>,6"P<><50><00><><03>P<><50><00><>-P<><50><00><>.1P<>Z<00>Z|P<><50><00><>/<2F>PI<50>I<>1P<><50><00><><1D>P<15><15><1A>P <0A> <0A>IPE<50>E<><1D>P*<2A>*<2A>8-"d<> <0C><><00>{ t<00><00>@~<7E><07><><07><><07><><06><><03>%%<05>+<03>4',<03>c(sints<03>|)3<15>.,<2C>"<22>+<2B>/.<2E><07><>,iA%<25><03>|<02><19>'<27>m<><02><1B>+<2B><02><1A><03><><02><1F><03>8<02>!<21><08><><03>cg<17><13><03>H<03>4[<03>|-<2D><14><03>8<05>! Dw<>g<0F><03><>i<0F><03>6<07>3<04><04><08> <09><03>.E<11><04>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<EFBFBD><00> <09> <0B><> <08> <0C><> <0C> ܝ <15><05> 3)
<EFBFBD><0E><0F>N
<EFBFBD> s#N
<EFBFBD><11>+
<EFBFBD><0E><0F>N
<EFBFBD> s%N
<EFBFBD><11> <0B>[ Xr <0C><> Z$rW<03><> [W <0B><11>w<> <0B>s:L <0B>x ~J v<08> <0C>{ xs <0C> y3 <0C>g zs m<> <0B>s <0C><> <0B>3<12> <0B>  <0B>3 <0C><> <0B>3 <0B>A<11><> <0B>*<2A>
 <0B><07> <0B>e  <0B>3 <0C><> <0B>3 <0B><11>y# <0B>*<2A><11> <0B>A <0B><>0 <0B><08>e q<> <0B><10> {<7B> <0B><10> <0C>C <0B>3 <0C> <0B>3$ <0C><> <0B><10>( 3<00>3<03><> :K<> 13 C 8/ E<1C>b F8Ĭ G <0C> H3<03>t H
0 K <09>/ M<1B>b N<08>Ĭ O<1F> <00>3/<03>g PT <0B><> <08> <0C><>
<0C> <0C><> <11> <09>b <08>Ĭ! <0C> <00>3<03><>"<03>{15<>$<0F>2 s<0F><>7 s [; sMX s <0A>h3@X_<>h`<60>h0<>`<1F>%<25>aD<03>nH <0B>Nh{ <0C><>}<0E> <0C>HH *><12><13> <0C> <12>sP <0C><><12><14>T <0C>u<12> <0B>\ j<12>
<EFBFBD>`<03>N<12><03> <0B><><12>Hpfn<12> <0B>cxt<12>
<EFBFBD><03><><12>  <0B>-<00><12><10> <0C><><12><0E> <0C>;<12><1B>arg<12>
<EFBFBD> <0C><><12><15> 6<12> <01><12>s<00> 9<><12> <0B><00> <0C><12>
<EFBFBD><00> ]<5D><12><12><00> <18><12> <09><00> <0C>9<12><12><00> <12><12><17><00> H3<03>-<12>T<0F>g<12> s><3E>d<16>e3Pj1<><17>,<2C>T"[<5B><17><>eX3k<04><18>Gl3 e#f<10> hj <18>i<10> <0C><>j<1B> <0C><>mv <1D>n3 ?Ao
<EFBFBD><04>e#p<03> Q<>'<x( y)  <0C>*  x<>+  U<>,<03>37<01> <17><><17><>]O<><0F>d<><17><><17><>-<2D><17><> <17>
5 # <17><> <17><17>_<><17>~<17><17><><17><>a<><17>Nl<>n<>-r<17><>7<>&<26><17>?<17><>à <17><>!<1B>"<17>#<17>%$<17><>%?+&<17><>'<17>w(k;);,*vc+<17>],-<17><>.<17>;/<04>0<17><>1 <09>2<17>3g<>4<17>?5
6<17>7<17><>88<>9S:<17>*;<17>J<i<>=߄<00><><03><><15><10> <04> <08> s s <0A> <00> <02><15><1F> <03>'D<03><>(Dĩ)DX<>*D3O<0E>
#<23>d<><17><><17><><1C><>4<><1C><><12><1C><><1C><> <1C><>0M<><00><1C><><1E><11><14><1C><>3j <17><><17><><17><><1B><1C><><1C><><1C><><03><>t<03>
 | S <0C><>} \<5C>~ D h /
<03><><16>" , r <09> <0C>s#
<0C>ts x<>us<15>ve %<06>\<05> q<>-3s<>.<0F><03>/<0F>0<0F><03><>1<0F><03>M2<0F><04> <03>7V<0F>&3swz73 E e xG yH  <0C>I  x<>J  JK+ N <09> numP denQ <03><>Rq <03>5\D3,<0E> <17><><17>i<17><><17><><17>b*<2A>2<03> ,6 > <0C>8D x<>9D !Y:e  @<40>;<14> par<<14> <0C>B><14> (C<03> <1F>G<10> <0C>LI D U^J D ;<3B>L D <0C>M D <1F>QJ U <09> <0C><>W D <0C><>X Dy<>\<03> ,` <09> <11>`b<1D> uFc> <11><>d<1D> <03><>e<03> <05> <1B>w <0C><><1B><13> <0C><><1B><12>  Pj<1B><12> es<1B>w <0C><1B> D <0C><><1B> D <0C><><1B> D <0C>6<1B>_ <04> <05><1B>(, <09> 4b- D <,. <0A> -<2D>0 <0A> <0C><>2 D$ D<00>3<03>b5<03>(8 <09>uF;(<28>t}=<03> <0B><>8E<10> <0C><>G!<21> <0C><>I)<29>cmdK D EdN_ <0C><>P D -
Q D <,S D <0C><>U DptsX  dtsZ ( <0C><>_(<28>0 <0C><>a
<EFBFBD>4<1D><><04><04><03><>c<04> s<00>3= <1D><01> 33.:Z<><17>Qm <17><>Q,t<><00><><EFBFBD><EFBFBD>F6 <0E>@O1 <0C><>Q 6 <18>R<10> <0C><>T: s U 8 <0C>wV 8 m<>X D <0C><>Y< <0C><>[ D 6 ] D b<>_ D a<>b D$  e D( џh D, j D0 q<>m4 L n!8 <0C><>p D<<1D><>1} #!80 <0C><>3%- L 6&8 <18>9<10> m<>< D <0C>C" <03>ED <0C>&F> <0C><>HD 4PI> L<>KD$ A<>L>( _oND, w<>O>0idS D4B<1D>U <0E>uF<1D>4(߄3"4<> +P4<> <0B>R !+<10> ;<3B>!-<12> <0C><>!. D <0C><>!/<1B>D<04><03>R!0U<04> ^<5E><00>"1/ <0C><>"3s <0C>X"6  UE"7  <0C><>"8  <0C><>"9  <0C>e":  <0C>Q";  H<>"<  <0C><"=  <0C><>"@ $ <05>"A ( <0C>V"B , h<>"DH0 <0C><>"FN4 <0C>"Hs8 <0C><>"Is< <0C>i"J <0B>@ @q"M,D X<>"NAF J6"O<08>G <0C>{"QTH ;,"Y <0A>P ,"[_X Q"\j\ "]N` o-"^ <09>d <0C><>"_
<EFBFBD>h <0C>5"`sl <0C><>"bpp<03>_#<19>)<29>"+3<>C<04>;)ZNe <00>3'<11>$<24><0E>/<0F><>$<24><0E>H$<24><0E><0F>% s <0A><00><05>%<1A>3&"<0E><17>{`&%<03> <0B><>0&)<10> O<>&,  <0C>M&/  ?<3F>&3 8 G<>&7 8 d<>&; 8 {<7B>&? 8 <0C><>&B  C<>&E  r<>&I c <16>&M
t$ <0C><>&P
t( u<>&S
t,
s<00> <09><04><1F>0<00>&r <0C>0&ss <0C><>&ts <0C><>&u" <0C>Q&v<10> 3<>&w<11> t<>&x <0C>X&y<10><00> <20><>&{ D z<>&}s <20><>&<26>  <20><>&<26>   z&<26>  <20><>&<26> !x&<26> !y&<26>  <20>&<26>   x<>&<26> $ \<5C>&<26>s( C<>&<26>s,  &<26><18>0 <20><>&<26><1B>4 wF&<26>)8 )<29>&<26>X< <20>-&<26>
@!win&<26><19> D V<>&<26>uP mC&<26><0E> T <10>&<26><0E> X j&<26><0E> \ <20>&<26><11> ` F<>&<26>
 d <02>&<26> h N<>&<26>
 l j<>&<26> p k<>&<26>
 t h&<26> x <20><>&<26>
 | <20>{&<26> <00> <20>v&<26><04><00> /<2F>&<26><14><00>!ops&<26>z<00> 7<>&<26> <09><00> b<>&<26>s<00> r<>&<26><14><00><04>
s8 <09> <09> $
sW <09> W ]_ <04>>t <09>i<03><>&T<03> <0B>+,&V<10> <20>&X<14> <02>&[<14> =<3D>&^ _ d&a
<EFBFBD>$ 5<>&es(<03>+&f<03><03><>&iG-&j<10><04># # s s s s s%<03>C&k5;K K KQ<04>c!&ldju P{<03>0&<26><03><14><>' s;<3B>(<17>X<>('" :<3A>((<0F> <0C><>()<0F> <0C><>(," "<22>(."Hvs(0 <00>fs(1 <00> <0C><>(2 <00> <0C><>(5 2<00> }<7D>(8 2<00> <0A>23 B3X<>(9<03><16>3)%|[_<17><><13>"<22><00>g*9<17> %N+4<08> [<5B>+6 s ,<2C>+7 s<04>"<22>#<23><03><>$<24><><01>sD<00><01><>%p<01>F<> __&S<01> <03><>w'i<01>sY_A_(log<01><08><03><>w&<26><><01>s<03><>w)<29><><00><03><>*N<><01><>+<2B><00>*n,P
1<EFBFBD>+<2B><00>*<00>,Q1,Rt,S0-<2D> ++<2B>+<00>,Q
<EFBFBD><EFBFBD>,Ru+<2B><00>*<00>,P
0<EFBFBD>+<2B><00>*<00>,Q1,Rv,S0-<2D> ++ <0C>+,Q
<EFBFBD><EFBFBD>,Ru-<1C>&+-(<28>3+-4<>3+-<<3C>@++L<>M+F,Q
<EFBFBD><EFBFBD>,Ru-<2D><>Z+g+h,Q5,R{-<00>s++<<3C>g+<00>,Q5,Ru-l<><00>+-t<><00>+-|<7C><00>++<2B><>g+<00>,Pu,Q2+ԁg+<00>,Pu,Q2+<04>g+<00>,Pu,Q2+8<><00>+,R
<EFBFBD>+t<><00>+,R
<EFBFBD><00>+/,R
<EFBFBD>-<2D><><00>++$<24>g+W,Pu,Q2,Sw+P<>g+p,Pu,Q2.d<><00>+,Q
,Rw|,SwB <00>/3<00> <00>3!<05>$J<><01>s4~<01><>0<>P<01>/<2F><00>_<00>_0=<3D><01>@W``0<01>']7`3`1<><31><01> z)<29><><00><03><>*7B<01>+<2B>~<00>+Q,Q1+<2B>~<00>+y,P0,Q0,}
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
,}
-<2D>~<00>++<2B>~g+<00>,Q5,}4-<00>+{ <00>3<05>2 <0A><01><06>}@<01>K0=<3D><01>)_ Y`U`0d<01>8<><00>`z`'out<01> _ <00>`<00>`'end<01> _ <00>`<00>`3~'tmp<01> ,EaCa2h<32><01><06>}<01>r4<><34><01>)<29>P56<35>{s<00>6<><36>{)<29>7<><37>qs<01>6<><36>q/<2F>$n<>es<00>}0<01>& 0<><30>e3<>^aXa0<1B>f3<> <00>a<00>a.<2E>}<00>!,Q <0C>0<EFBFBD> ,R<03>Q,S<06>P#<23>,}<06>P#<23>$W<>Xs<00>}0<01><> 0<><30>X3<><00>a<00>a0<1B>Y3<> <00>a<00>a.<2E>}<00>!,Q <0C>0<EFBFBD> ,R<03>Q,S<06>P#<23>,}<06>P#<23>$:<3A>KsP}0<01>!0<><30>K3<>,b&b0<1B>L3<> ab[b.t}<00>!,Q <0C>0<EFBFBD> ,R<03>Q,S<06>P#<23>,}<06>P#<23>$2<>>s }0<01><>!0<><30>>1<><00>b<00>b0<1B>?1<> <00>b<00>b.D}<00>!,Q <0C>0<EFBFBD> ,R<03>Q,S<06>P#<23>,}<06>P#<23>$<24><>'sL|<00><01><>"0mC'/<2F> <00>b<00>b0<1C>'@<40> cc0<1B>(4<> @c8c0F<30>(D% |ctc4<02>)1<>"<02>)<29><><00>"|<7C>+<2B>|<00>+(",P
e<EFBFBD>+<2B>|,<",Pv+<2B>| ,i",Pv,Qt,Rw,Sx,}t+<2B>|,~",P
e<EFBFBD>.}g+,Q5,}x <00>"3<05>"$<24><>s<00>{<00><01><>#0<><30>.<2E><00>c<00>c'rcs<00>c<00>c8<><11> <00>c<00>c&_<><10>#<03><>&{<7B> <10>#<03><>)<29><><00>#`<60>9end|+ |%%g#,Pw,Qt,Ru+|<00>${#,Pw.8|g+,Q5,Sx<> <0A> <00>#3 <05># <0A> <00>#3<05># <00>#3<05>#:v<><01>s<00>z<00><01><>$;<3B><><01>.<2E>d d<rc<01>sBd>d=<3D><01><11> dd`d>_<><01><10>#<03><>>{<7B><01><10>#<03><>?end<01>t{+\{%%l$,Pv,R}+l{&,<00>$,P
e<EFBFBD>.t{<00>$,Pv: <09><01>s<00>z@<01>%%;<3B><><01>2<EFBFBD><00>d<00>d+<2B>z3,<00>$,P1,Qt<>+<2B>z3,<00>$,P1,Qt<>+<2B>z3,%,P1,Qt<>.<2E>z3,,P1,Qt<>@<40><><01> s t<00><01>1';<3B><><01>3<EFBFBD><00>d<00>d;<3B><01>0<EFBFBD> <00>d<00>d;{<7B><01>0<EFBFBD> 1e)e>dc<01> <0A> <02>`><10><01>
<EFBFBD> <02>d)<29><>A'\<5C>A7B<01>xu+dt@,<00>%,P0+|tL,<00>%,Q0,R0+<2B>tX,&,Qv,R<02>X,S1,}<02>\+<2B>te,&,S0+<2B>tr,1&,R0,Sw-<2D>t,+,ug+S&,Pu,Q5BHuc&,Pt+xug+|&,Pu,Q2-<2D>u<00>,+<2B>ug+<00>&,Pu,Q2+<2B>ug+<00>&,Pu,Q2+vg+<00>&,Pu,Q2+,vg+<00>&,Pu,Q2+Xvg+',Pu,Q2+xvg+',Pu,Q2.<2E>vg+,Pu,Q2 A'31'C<><43><01>@zp<01><>';<3B><><01>9<EFBFBD>ieee)<29><><00>'<03><>-tz<00>,.<2E>zg+,Q5 <00>'3"<05>':B<>OsXx<00><01>m);<3B><>O7<4F><00>e<00>e><3E>UPS <03><>><12>Q <<02>@>C<>R <<02>PD <09>S DDd<44>T D=<3D><>U#
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<00>e<00>e=<02>V
<00>e<00>e)<29><><00><03><>E7B<01>+<2B>x<00>,u(,P0+y<00>,<00>(,P0+4y<00>,<00>(,Py,Ru,S<02>H,}u,}v,}u,} w,}u,}u+Py<00>,<00>(,Py+<2B>yg+%),Px,Q5,}0,}0,}0,} 0,}y,}z+<2B>yg+>),Px,Q2+zg+W),Px,Q2.zg+,Px,Q2C <09>/Xw<01>}*;<3B><>/+<2B>ff)<29><><00>*t<>+<2B>w<00>,<00>),P1,Qt<>-<2D>w,+<2B>w<00>,<00>),P1,Qt<>-<2D>w,+<2B>w<00>,*,P1,Qt<>-<2D>w,+<2B>w<00>,)*,P1,Qt<>-<2D>w,+x,R*,Qu,Ru,Su-x<00>,-x<00>,F(x<00>,.Dxg+,Q5 <00>*3}*:<04>#Q<00>v`<01><>*> <0A>$<12><02>p. w-,P},Q0G<><00>}<01><>*H<>YfUfI<><49><00><>,%I<><49><00><>,X%I<><49><00><>,
%I<><49><00><>,9%Iu<49>u<>,%I<><49><00><>,<2C>%I<><49><00><>,O%IH<49>H<>,6%I/<2F>/<2F>,/%J<><4A><00><><13>I&<26>&<26>,B%Iy<49>y<>,%I<><49><00><>,%J;<3B>;<3B>-;I'<27>'<27>,:%I<><49><00><>,7%IS<49>S<>.I"<22>"<22>,R%Iv<49>v<>,2%I<>v<00>v.3 I<><49><00><>,<2C>%Jo<4A>o<>ZJ<><4A><00><>Y IG<49>G<>/EI<><49><00><>, %I<><49><00><>,+%J<><4A><00><><17>J<><4A><00><><17>I<12><12>IZ<49>Z<> I<><49><00><>)I<><49><00><>-Ju<4A>u<><17>J7<4A>7<>0OJ<><4A><00><>0@,J<><4A><00><>0S+J<03><03>0U,J<><4A><00><>0gId<49>d<>,%I<><49><00><>,I<><49><00><>J<><4A><00><><17>J-<2D>-<2D>+D X3<00>!d<> <0C><><00>{<00><>LM<07><><07><>int D~<7E><07><>,<07><><06><><05>%A<05>+<05>4'H<05>c(33<05>|),<15>.,<2C>"<22>,iA%<25><05>|<02><19>'<27>m<><02><1B><04><08><><04><04><04><05>6<03>,^<5E><00>1<08> <09><>33 <09>X6 <09> UE7 <09> <09><>8 <09> <09><>9 <09> <09>e: <09> <09>Q; <09> H<>< <09> <09><= <09> <09><>@ <09>$ <05>A <09>( <09>VB <09>, h<>D<16>0 <09><>F<14>4 <09>H38 <09><>I3< <09>iJ <0B>@ @qMHD X<>N[F J6O<08>G <09>{Q<0F>H ;,Y <0A>P ,[<17>X Q\<19>\ ]<14>` o-^ <09>d <09><>_
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<EFBFBD>h <09>5`3l <09><>b<08>p<05>_
)<29>+ 3<><04> <0C><00> ,<04> )<04> N<04> <0C><00> ,'<11><06><0E><04><0E><><06><0E>H<06><0E><0E> 3 <0C>0%0<04><05>c<13><17><13><05> b<05>4 u<05>| <14> <0C><00> ,)
<EFBFBD><0E><0E>N
<EFBFBD> 3#N
<EFBFBD><11>+
<EFBFBD><0E><0E>N
<EFBFBD> 3%N
<EFBFBD><11>K<> 1,{1 <0F><04>5<> $<0E><0E> 2 3<0E><> 7 3 [ ; 3 <0C>; ,@+_<>;`<60>;<0E>g<0F> 3><3E>d<16>e,P<0E>1<><12>,<2C>T"[<5B><12><>eXsk<04><14>Gl,e#f, h<15> <18>i<10> <09><>j, <09><>m<06> <1D>n, ?Ao
<EFBFBD><04>e#p<03>T<><H,/<01>&<12><>Y<12><><12>m|<7C><12><>"#<12><><12><> 
 E<> % e<><12><>q<><00><><EFBFBD><05>BJE xG HyH H <09>I H x<>J H JK<03>N 8numP HdenQ H<05><>R<05>5\x,,}<12><><12>i<12><><12><><12>b*<2A>2P,6 <09> <09>8x x<>9x !Y: @<40>;8par<8 <09>B>D(C<03><1F>G/ <09>LI x U^J x ;<3B>L x <09>M x <1F>Q<03>U _ <09><>W x <09><>X xy<>\;,` <09><19>`b/uFc<1D><19><>d_<05><>ek<05> <13> <09><><13>} <09><><13>D Pj<13>Des<13> <09><13> x <09><><13> x <09><><13> x <09>6<13> <04>`<05><13><03>(, p 4b- x <,. p -<2D>0 p <09><>2 x$ x<00> ,<05>b52(8 <09>uF;(<28>t}=<03><08><>8EX <09><>G!X <09><>I)c cmdK x EdN  <09><>P x -
Q x <,S x <09><>U xptsX T dtsZ T( <09><>_(i 0 <09><>a
<EFBFBD>4<04> <0B><>^ <04><05><>c<03>o ,<<06> <12><12> ]b/"<12><><05><12>/<12>E<12>]<5D> "O
G\ k<> l<> `M<08><>V
idX x dY x<05><>Z<03> <11>`X
hdrb
)d x l<>e> <11>f#
,0<06> ̬<16><16>Ϳ<16>t<16>w]sx<>tT<16>P <16><>
Y<> <16><> <16><> <16><16>a[<5B>%<25><16> W<><16><><16><>a^<16>kR<16>+_'<><16>[<16><>O<><16>3 <16>_!<16>["<16>#vs$<16><>%H&<16>'<16><>((3)<16>!*<16><>+<16>Q,-<16><>.w<>/ <0B>0$ 1<16><>2<16>3<16><>4*5T<>6<16>I7۷8<16><>9<16>:<1C>;<16>6<<16><>=[&>z<>?Z@<16><>A<16>eB{^C<16>D1<>E<16>QFq<>G[&H<16>AIٯJ<16>:K<16>HL M}MNڙOێP<16>#Qb<>RFS1<>T<16><>UĿV<16><>W<16><>X<16>iY<16><>Z<16>][<1D>\o4]<16><>^<16> _,<16>9n=2\<5C><12><>^<5E><12>^<12>&<12><><12><>Թ <12><>
=<3D> <12>  Q<00><><EFBFBD><05><><16><03> <08><> <16>mhdr<16>
&8<16>9<05><><16>E,<16><01><12>n;<3B><12><>=D<><00><><EFBFBD><05><><16>y<08><> <16><10>hdr<16>
&8<16>&<26><05><><16><03>gL,<16>G<12>z<>l<><12>I9<>gx<1F>U<>QV\~ ^
<16>L<00><><EFBFBD>gL<16><03><08><> <16>{hdr<16>
&8<16>G<05><><16>S<11><>,<16>?<12>wz<12> <12><><12>!<12><12><12><>ūn<> <12>,
<12><> <12>R o <12><><12>b-<12><>~`<12><>[<12>DeEP<12><><12><16><00><><EFBFBD><1A><><03>4<> whdr
&8?4<>L<1B><>(!<10>hdr#
<1D>%?c & x <1D>C' <0A> x<00> ,<1A><>(<03><1B><>++hdr-
l<>/ Hu0 x v1 x<1A><>2<03><1E><>,Bm*<2A>C:<12> @<40><16>i<00><><EFBFBD><1A><>I8F<> K<10>hdrM
&8OmF<>PzM<10>hdrO
<16>PQ<03>{<7B>,jc<><12>^<12>W@<16><><00><><EFBFBD>{<7B>q<03><1B><> sWhdru%
<18>v%<1A><>w,7<><16><10>hdr<16>
<16>8<1D><16>87<><16>d<1B><>0<16>hdr<16>
 <16> x<1D><><16>8 <1D><<16>8<1D><><16>88<><16>8$<06><16> x,<1A><><16><03> <0C>8 ,<00>M<>D<10>hdr
l<>>"<22>> <1D><>><1D><>><1C> ><1D><>!><1D><>"> <1D><>#>$<1D><>$>(<1D><>%`,<1D><>&`-<1D><>'`.<1D><>(`/%<25>)>0<03>*`4<1D><>+`5<1D><>,`6l-`7<1D>. (8 <20><>/x8 <20><>0x< <20><>1x@M<>28<1E><>,4<0E>ٺCt<12><>Y<00><><EFBFBD><1A><>9<03>W<>;hdr=
<1D>5?<1D>]<5D>@>  A>W<>B<03> 3: ,= <17>*T,vq<12><>j<><12><>T|F<08><> <10>hdr<18>
&8<18>q<05><><18>},.<01>Z<><12>Qm <12><>Q,t<><00><><EFBFBD><EFBFBD>F6<03><0E>@O<10> <09><>Q <20> <18>R<10> <09><>T<15> s U l <09>wV l m<>X x <09><>Y<16> <09><>[ x 6 ] x b<>_ x a<>b x$  e x( џh x, j x0 q<>m<1D>4 L n!<21>8 <09><>p x< <0B><><04>&#!80<10> <09><>3%<25> L 6&<26> <18>9<10> m<>< x <09>C<11> <03>Ex <09>&F<12> <09><>Hx 4PI<12> L<>Kx$ A<>L<12>( _oNx, w<>O<12>0idS x4<04> <0B>U<04><0E>u<03><04> <0B>4<04> ߄<04><04>#!U<03>h<>Yhdr[
h<>\<03>"<22>$2:<3A> ia l<>j3uk3vk
3<05>9l0a<08><> t<10>xu
<EFBFBD>yv
<EFBFBD>ww
<EFBFBD>hx
<EFBFBD><04>5yr!&K<00>|<10> |<7C>}3 <09><>~3 <09><>3 <09><><1D>3 ISO<1D>3 <09>f<1D>3 <09><><1D>3 <09><><1D>9 <09><><1D>%<25> 
<1D>G$ p<><1D>?( <09><><1D>'<27>, <09>s<1D>aT <09>X<1D>m` <09>L<1D>3d P<><1D>3h <09><><1D>3lroi<1D><16>p <17><1D>3<00> <09>4<1D> :<00> !)<1D> :<00> <1D><00> <09><><1D>><00> <09><1D>3<00> <15><1D>(<00>"c<1D>3<00>"<22><><1D>3<00>"<22>2<1D>3<00>"<22><><1D>,<00>"$g<1D>,<00>"/g<1D>,<00>"I<1D>3<00>"Q<><1D>&<00>"<22><><1D> :<00>"<22><<1D> :<00>"<22>U<1D>3<00><05>8<1D><03><04>,<1D><0E><12><><12><><12><>L<><1D>0<EFBFBD>#b<><01>ܕh<01><>$w<><01>3<>~fzf$=<3D><01><{ <00>f<00>f%x<><00><00>&<1E><01>%<25><00>f<00>f'<27><><00>&<26>U<01>)<29>gg<00>2<00>)Pu)Q2*<14><00>2)Pu)Q2+ <0C><00>2(L<><00>2<00>)Q2,\<5C><00>2<00>)P<03>Q*t<><00>2)Q2#!<21>j(<28><00><01><>$<24><>j.3gg&<26><>k3;g7gl3<03><>-<2D><>l3<03><>.(<28>Hk<11>/H0,<03><>09<03><>(P<><00>2<00>)Pv)Qu)RL(l<><00>2<00>)Pt)QP*h<><00>2)Pt)R<03><>.<2E><00><><01>mx1<>_gYg1<><00>g<00>g/<2F>0<><03><>(<28><><00>2*)P<03><>)Q0)RL(<28><><00>2D)Pt)QP<00>2_)Pt)R<03><>*<2A><><00>2)Pt)R<03><>(<1C><00>2<00>)Q2(L<><00>2<00>)Q2)Sv)}w(<28><><00>2<00>)Q2*<2A><><00>2)Q22<><32>Z Z-3<><33>Z=4<><34>[
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
3 <0C> ,O5<><35>M 3G4<><34>N
4<><34>O36<>T430<><00><01><>$<24><>41<><00>g<00>g$q<>4?:%hh$<24><>5%:]hUh-K68<02>`&S7<11><00>h<00>h(t<><00>2<00>)Q Y(<28><><00>2<00>)Q Z7<><37>3<04>6=<3D>%3<00><>p<01>}$w<>&<12><00>h<00>h$Q<>&<}<00>h<00>h-[<5B>'&<02>P( <20>3s)Pw)Qu+$<24>36<><01>3<00><><01><> $<24><><01>4<>3i-i$<24>U<01>F<>ei_i$<<3C><01>.<2E><00>i<00>i$l<01>@<40><00>i<00>i8<><38><01>,<2C><02>8<>2<01>C<><02>8<><38><01>5O<02>9x<01>5O<02> 9y<01>KO<02>-<2D><01>'<27><03><>}(<28><><00>2o )Pu)Q0)R
D(<28><>3<00> )Qu+<2B><>3:5<01>3<01> 3<><33><01>8<>3I<01>*3:<3A><><01>3<01> 3<><33><01>6<>3<><33><01>B36
<EFBFBD><01>3<14>D<01>Z!$<24><><01>/<2F><00>i<00>i$<18><01>;j j;drc<01>W<02>h(@<40>3P!)Q}+D<>3:<03><01>3<01>!3<><33><01>9<>3<1F><01>E36<01>H3 <0C><00><01><>"$<24><>H8<>Dj@j$<24>I5<>fjbj<roiJ:<3A>"<00>j<00>j-!YK<1F><02>P=rett3<00>j<00>j%x<>8!"4=<3D>^,%<25><>4D"&R<>o,<00>j<00>j(8<>3X")Qv(|<7C>3l")Qv+<2B><>3(<1C><00>2<00>")Q2*\<5C><00>2)Q2<04>6i<36>53<00><>|<01> #$<24><>5/<2F><00>j<00>j8<16>5J<><02>@-!Y6<1F><02>`(<28><>3#)Q<02>X+<2B><>36d23<00><><00><01><>#$<24><>1<>k k$P<>=3Ck=k$<24><>H3ukok-<15><1B><02>d(`<60>3<00>#)Qt(p<>3<00>#)Qt(<28><>3<00>#)Qt+<2B><>36<>L3T<><00><01><>$$<24><>4<><00>k<00>k$<24>L@3<00>k<00>k=ret<11> ll&<26>38l4l(<28><>+3E$)Qu)Rt+3_$)Qu)Rt(<28><>+3y$)Qu)Rt7<><37>36K<36><01>3<00><>l<01><>$$<24><><01>4<><00>n<00>n$_<><01>?<3F>$o<00>n-E<><01>+<02>X(D<>3<00>$)Qu+H<>3m6/<2F><01>3<00><>D<01>o%$<24><><01>3<>3o/o$C<><01>6?ZoTo-<2D><><01>w<02>h(Њ3e%)Q}36K<36><01>3<00><><00><01><>%$<24><><01>5<><00>o<00>o$<01>C:<00>o<00>o$<24><01>):<00>o<00>o-<1E><01><1E><02>X(<28><>3<00>%)Qu+<2B><>36<><36><01>3<00><>@<01>j&$<24><><01>4<> p p$<24><><01>7G4p.p-<1E><01>{<02>h(܉3`&)Q}+<2B><>36<><36>3p<>@<01><>&$<24><>><3E>epap$<24>5<01>Fm<00>p<00>p-x<><01>!<21><02>h(<28><>3<00>&)Q}+<2B><>36<>h30<>@<01>P'$<24><>h9<><00>p<00>p$<24>5iA9<00>p<00>p-<2D><>j!m<02>h(\<5C>3F')Q}+`<60>3:<3A><>K3}'3<><33>KA<>3<><33>L33:<3A><><3<01>'3<><33><?<3F>3.<2E>=136+3<00><>@<01>($<24><>,<17>qq$<24><>,A<><q6q-]<5D>-)<29><02>h(<28><>3()Q}+<2B><>3:<3A>3J(3<><33>/<2F>>ISO;3:<3A><>3<01>(3<><33>6<>3<><33>B3?ret3@4&88A<><41><01>3<01>(B<><42><01>4<EFBFBD>B<><42><01>@3Cret<01>3@D&8<01>8Ah<41><01>3)B<><42><01>5<EFBFBD>B|<7C><01>A3Cret<01>3@D&8<01>8A<><41><01>3_)B<><42><01>6<EFBFBD>B<><42><01>B3Cret<01>3@D&8<01>8Er<45>y3ԑT<01><>+F<><46>z<17>oqiqFT<46>zA<7A>+<00>q<00>qG<><47>{3<00>q<00>q%<25><>T *H(<28><01>+X
<02>XGS<01><13>r<00>q3<00>))Q<02>P*<08><00>2)Q2(<28><>)*)Pv(<04><00>(1*)Pv(<14><00>(E*)Pv($<24>J(Y*)Pv(4<>(m*)Pv(D<>}'<00>*)Pv(T<>P'<00>*)Pv(d<><00>&<00>*)Pv(t<>j&<00>*)Pv(<28><><00>'<00>*)Pv(<28><><00>%<00>*)Pv(<28><>o%<00>*)Pv(<28><><00>$ +)Pv<00>$(+)Pv)Qu<><00>#<+)Pv(<28><> #P+)Pv(<08><00>"d+)Pv(<18>Z!x+)Pv((<28><00> <00>+)Pv(8<><00> <00>+)Pv(x<><00><00>+)Pv)Ru<>(<28><>G<00>+)Pv*<2A><><00> )Pv<04>EhW3 <0C><00><01>\,F<><46>W:<3A>(rrFT<46>XD\,trjrI<><49>r,<03><>(h<>73K,)RY*<2A><>73)RZ<04> <0C>r, ,"b,J<>,<06><><01><>,FT<46>,?\,<00>r<00>rI<><49><00>,|<7C>*<2A><>73)R- <0C><00>, ,<04>,K)ԅ<00><01><>-1,)<00>r<00>r18)]sQsLD)M)<18><18><01>[-1,)<00>s<00>s18)<00>s<00>s'<18>ND)*(<28><00>2)Q2/X0Q)<02>p(T<><00>2-)Q /7`<60>3K<>(x<><00><01>>.1<>(<00>s<00>s1<>(TtHtL)M<>(<00><><00><><01>.1<>(<00>t<00>t1<>(<00>t<00>t'<27><>N)<00>2)Q2/p0 )<02>p(<28><><00>23.)Q ,7<04>3K<>(<1C><00><01><>.1<>(<00>t<00>t1<>(Ku?uL<>(M<>(`<60>`<60><01><05>.1<>(<00>u<00>u1<>(<00>u<00>u'`<60>N<>(*p<><00>2)Q2/<2F>0<>(<02>p(<28><><00>2<00>.)Q -7<><37>3KJ(<00><><00><01><>/1\(<00>u<00>u1i(Bv6vLv(OJ(<00><00>x/1\(<00>v<00>v1i(<00>v<00>v'<00>Nv(*<10><00>2)Q2/<2F>0<>(<02>p(<<3C><00>2<00>/)Q .7H<37>3K(`<60>0<01>)01/(<00>v<00>v1<(wwP(p<><00>1<(UwOw1/(<00>w<00>w(|<7C>C30)Q 0)R<03>Q7<><37>3K}'Ј0<01><>01<>'<00>w<00>w1<>'<00>w<00>wP}'<00><><00><1<>'-x'x1<>']xYx(<28><>O3<00>0)Q )R<03>Q7<><37>3KP'<00>0<01>-11b'<00>x~x1o'<00>x<00>xPP'<10><00>K1o'y<00>x1b'5y1y(<1C>+3"1)Q )R<03>Q7$<24>3KZ!<00><>0<01><>11l!^yVy1y!<00>y<00>yPZ!<00><><01>1y!<00>y<00>y1l! z z(<00>C3<00>1)Q C)R<03>Q7<08>3K<> X<>0<01>121<> 6z.z1<> xzpzP<> h<><01>1<> <00>z<00>z1<> <00>z<00>z(t<>O3&2)Q 6)R<03>Q7|<7C>3K<> <00><>0<01><>21<> {{1<> P{H{P<> <00><>0<01>1<> <00>{<00>{1<> <00>{<00>{(<28><>O3<00>2)Q )R<03>Q7<><37>3Q<><51><00><><10>R<><52><00><>F Q<15><15><14>SR<53>H<>"Q$<24>$<24>BQ<><51><00><>NQ33<1F>Q<><51><00><> Qu<51>u<><19>Q<><51><00><><19>Qd<51>d<>yQ;<3B>;<3B>!;QunungQ<><51><00><>1 <00>&d<> V<00>{D<><00><00>]~<7E><07><><07><><07><><06><><03>%%<05>+<03>4',<03>c(sint<03>|)3"<22><07><>,iA%<25><03>|<02><19>'<27>m<><02><1B><04><08><><07><04><07><03>6<03>3<03>cg<03>H<03>4[<03>|z^<5E><00>1<08> <09><>3s <09>X6 <09> UE7 <09> <09><>8 <09> <09><>9 <09> <09>e: <09> <09>Q; <09> H<>< <09> <09><= <09> <09><>@ <09>$ <05>A <09>( <09>VB <09>, h<>D<16>0 <09><>F<14>4 <09>Hs8 <09><>Is< <09>iJ <0B>@ @qM,D X<>NAF J6O<08>G <09>{Q<0F>H ;,Y <0A>P ,[<17>X Q\<19>\ ]<14>` o-^ <09>d <09><>_
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<EFBFBD>h <09>5`sl <09><>b<08>p<03>_
)<29>+ 3<><04> <0C><00> 3<04> )<04> N<04> <0C> 3'<11><08><04><0E><><08>H<08><0E>  s <0C>C8 CK<>
13{1 m<04>5<> $<0E><0E> 2 s<0E><> 7 s [ ; s<04> <0C><00> 3) <0A><0E><0E>N <0A> s#N <0A><11>+ <0A><0E><0E>N <0A> s%N <0A><11> <0C> 3@_<>`<60><0E>g<0F> s><3E>dTe3P<0E>1<><12>,<2C>T"[<5B><12><>eXJk<04><14>Gl3e#f h<15> <18>i<10> <09><>j <09><>m<06> <1D>n3 ?Ao
<EFBFBD><04>e#p<03>3/<01>&<12><>Y<12><><12>m|<7C><12><>"#<12><><12><> 
 E<> % e<><12><>q<><00><><EFBFBD><03>BE <09>xG <0C>yH <0C> <09>I <0C> x<>J <0C> JK<03>N numP <0C>denQ <0C><03><>R<03><03>5\3,H<12><><12>i<12><><12><><12>b*<2A>2,6 <09> <09>8 x<>9 !Y:<14> @<40>;par< <09>B>(CT<1F>G<10> <09>LI  U^J  ;<3B>L  <09>M  <1F>Q<03>U * <09><>W  <09><>X y<>\,` d<19>`b<1D>uFc<1D><19><>d*<03><>e6<05> <12><10> <09><><12>H <09><><12> Pj<12>es<12><1F> <09><12>  <09><><12>  <09><><12>  <09>6<12><0E>d<04><05><12>p s  3= <13><01>3.OZ<><12>Qm <12><>Q,t<><00><><EFBFBD><EFBFBD>F6<0E>@OF <09><>Q K <18>R<10> <09><>TO s U  <09>wV  m<>X  <09><>YQ  <09><>[  6 ]  b<>_  a<>b $  e ( џh , j 0 q<>m
4 L n!%
8 <09><>p < <0B><>F <04>#!80
<09><>3%B
L 6&M
 <18>9<10> m<><  <09>C7
 <03>E <09>&FS
 <09><>H 4PIS
L<>K$ A<>LS
( _oN, w<>OS
0idS 4W <0B>U
<0E>u[+
<0B>4=
߄H
7
"<22>$ <1A><>0s\<5C><00><01><> S0&<26><00>{<00>{<1C><><00> <00>
Q2<10><00> <00>
Q20<><00> <00>
Q2P<><00> <00>
Q2p<><00> <00>
Q2<1C><><00>  Q2<1C><><00>  Q2И<00> + Q2<1C><><00> > Q2<10><00> Q Q20<><00> d Q2P<><00> w Q2p<><00> <00> Q2<1C><><00> <00> Q2<1C><><00> <00> Q2ș<00> Q2i<>$D<><01><> w<>$&7
|| \<5C> P<03>P!<21><><00><><10>!ee<14>O"<00>(d<> <0C><00>{<18><00><00>a D<04><07><>~<7E><07><><07><><06><><03>%:<05>+<03>4'A<03>c(<14>int<03>|)3<15>.,<2C>"<22>+<2B>/.<2E><07><>,iA%<25><03>|<02><19>'<27>m<><02><1B>+<2B><02><1A><03>8<02>!<21><08><><03>cu<17><13><03>V<03>4i<03>|<14>-<2D><14><03>8<05>!<08> %<03><>i<0F><03>6<07>3<04><04> <09>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<EFBFBD><03>.E<11><04> <0B><00>
<EFBFBD> <0C><> <08> <0A><> <0C> ܝ <15> <07><0E>3)
<EFBFBD><0E><10>N
<EFBFBD> <0C>#N
<EFBFBD><11>+
<EFBFBD><0E><10>N
<EFBFBD> <0C>%N
<EFBFBD><11> <0C>[ Xi <0A><> Z$iN<03><> [N <0B><11>w<> <0B><05>:L <0B>o ~J v<08> <0A>{ x<07> <0A> y3 <0A>g z<07> m<> <0B><07> <0A><> <0B>3{ <0B>  <0B>3 <0A><> <0B>3 <0B>8<12><> <0B>*<2A>
 <0B><07> <0B>\  <0B>3 <0A><> <0B>3 <0B>~y# <0B>*<2A><12> <0B>8 <0C><>0 <0B><08>\ q<> <0B><10> {<7B> <0B><10> <0A>C <0B>3 <0A> <0B>3$ <0A><> <0B><10>(3<00>3<03><> HK<> 13 C // E<1C>b F/Ĭ G <0C>?3<03>t H0 K y/ M~b NyĬ O<1F><00>3/<03>g PK  <09>b <08>Ĭ ! <0C><00>3<03><> "<03>{1<0F><04>5<>$<0E><10>2 <0C><10><>7 <0C> [; <0C> '
<EFBFBD><0E>73@'_<>7`<60>70<>`<1F>%<25>aA<03>n? <0C>Nh{<10> <0A><>}<0E> <0A>H? *><11><13> <0A> <11><08>P <0A><><11><14>T <0A>u<11> <0B>\ j<11>
<EFBFBD>`<03>N<11>z <0C><><11>pfn<11> <0B>cxt<11>
<EFBFBD><03><><11><03> <0C>-<00><11><10> <0A><><11><0E> <0A>;<11><1B>arg<11>
<EFBFBD> <0A><><11>V 6<11><11> <01><11><08><00> 9<><11> <0B><00> <0A><11>
<EFBFBD><00> ]<5D><11>b<00> <18><11> <09><00> <0A>9<11>b<00> <12><11><17><00><00>3<03>-<11>#<10>g<11> <0C>><3E>d<16>e3P91<><18>,<2C>T"[<5B><18><>eXk_<19>Gl3 e#f<10> h9 <18>i<10> <0A><>j<1B> <0A><>mE <1D>n3 ?Ao
<EFBFBD>_e#p_37W <18><><18><>]O<><0F>d<><18><><18><>-<2D><18><> <18>
5 # <18><> <18><18>_<><18>~<18><18><><18><>a<><18>Nl<>n<>-r<18><>7<>&<26><18>?<18><>à <18><>!<1B>"<18>#<18>%$<18><>%?+&<18><>'<18>w(k;);,*vc+<18>],-<18><>.<18>;/<04>0<18><>1 <09>2<18>3g<>4<18>?5
6<18>7<18><>88<>9S:<18>*;<18>J<i<>=߄<00><><03><><13>c i y
<EFBFBD>
<EFBFBD>W <00> <02><13>y <03>'Aĩ)A) r <09> <0A>s<1E> <0A>t<08> x<>u<08><15>v<03> %<06>Y<07> <03>/<0F>0<0F><03><>1<0F><03>M2<0F><04> <03>7V<0F>  2s
<0A>3 3 x<>4 3 <0A>53<03>/:&3<1A>wz73i8eE <09>
xG yH  <0A>I  x<>J  JK<03>
N numP denQ <03><>R<03>
<03>5\A3,R <18><><18>i<18><><18><><18>b*<2A>2% ,6 <09> <0A>8A x<>9A !Y:<14>
 @<40>; par< <0A>B> (C^ <1F>G <0A>LI A U^J A ;<3B>L A <0A>M A <1F>Q<03> U 4 <0A><>W A <0A><>X Ay<>\ ,` n <12>`b uFc<1D> <12><>d4 <03><>e@ <05> <1B><10> <0A><><1B>R <0A><><1B>  Pj<1B> es<1B><1F> <0A><1B> A <0A><><1B> A <0A><><1B> A <0A>6<1B><0E> n <05><1B>z (, ? 4b- A <,. ?  -<2D>0 ?  <0A><>2 A$AO 3<03>b5 (8 q uF;(O t}=[ <0C><>8E' <0A><>G!' <0A><>I)2cmdK A EdN<0E> <0A><>P A -
Q A <,S A <0A><>U AptsX  dtsZ ( <0A><>_(80 <0A><>a
<EFBFBD>4} <1D><>-q <03><>c} ><0E>`3= <1D>P|33.<01>Z<><18>Qm <18><>Q,t<><00><><EFBFBD><EFBFBD>F6| <0E>@O<10> <0A><>Q <20> <18>R<10> <0A><>T<15> s U 5 <0A>wV 5 m<>X A <0A><>Y<16> <0A><>[ A 6 ] A b<>_ A a<>b A$  e A( џh A, j A0 q<>m}4 L n!<21>8 <0A><>p A<<1D><><04><04> #!80} <0A><>3%<25> L 6&<26> <18>9<10> m<>< A <0A>C<11> <03>EA <0A>&F<12> <0A><>HA 4PI<12> L<>KA$ A<>L<12>( _oNA, w<>O<12>0idS A4<04><1D>U<04><0E>u<03><04><1D>4<04>߄<04><04>4<> +<1D>4<> <0C>R !+ ;<3B>!- <0A><>!. A <0A><>!/<04>J<03>R!0<03> ^<5E><00>"1<08> <0A><>"3<07> <0A>X"6 <09> UE"7 <09> <0A><>"8 <09> <0A><>"9 <09> <0A>e": <09> <0A>Q"; <09> H<>"< <09> <0A><"= <09> <0A><>"@ <09>$ <05>"A <09>( <0A>V"B <09>, h<>"D<16>0 <0A><>"F<14>4 <0A>"H<07>8 <0A><>"I<07>< <0A>i"J <0B>@ @q"MAD X<>"NOF J6"OlG <0A>{"Q<0F>H ;,"Y <0A>P ,"[<17>X Q"\<19>\ "]<14>` o-"^ <09>d <0A><>"_
~h <0A>5"`<07>l <0A><>"b<08>p<03>_# )<29>"+3<><04> <04>)<04>N<04><00>3'<11>$<24><04><10><>$<24>H$<24><10>% <0C><0E>9.%93&"_<18>{`&%J <0C><>0&) O<>&, <09> <0A>M&/ <09> ?<3F>&3 <09> G<>&7 <09> d<>&; <09> {<7B>&? <09> <0A><>&B <09> C<>&E <09> r<>&I <09> <16>&M
<EFBFBD>$ <0A><>&P
<EFBFBD>( u<>&S
<EFBFBD>, <0B>$
$* <20>0<00>&r<10> <0A>0&s<07> <0A><>&t<07> <0A><>&u<10> <0A>Q&v 3<>&w t<>&x<11> <0A>X&yn<00>!<21><>&{ A!z<>&}<07>!<21><>&<26> !<21><>&<26>  !z&<26> !<21><>&<26> "x&<26> "y&<26> !<21>&<26>  !x<>&<26> $!\<5C>&<26><07>(!C<>&<26><07>,! &<26>e0!<21><>&<26>Y4!wF&<26><15>8!)<29>&<26><1A><!<21>-&<26><1D> @"win&<26><19> D!V<>&<26><18>P!mC&<26>
T!<10>&<26>
X!j&<26><0E> \!<21>&<26>,
`!F<>&<26>
<EFBFBD>
d!<02>&<26>2
h!N<>&<26>
<EFBFBD>
l!j<>&<26>2
p!k<>&<26>
<EFBFBD>
t!h&<26>2
x!<21><>&<26>
<EFBFBD>
|!<21>{&<26>2
<00>!<21>v&<26>J<00>!/<2F>&<26>_<00>"ops&<26><16><00>!7<>&<26> <09><00>!b<>&<26><07><00>!r<>&<26>M<00> <0B><00>
$
<04> <0B><00>
$
<EFBFBD>
<EFBFBD><04> ~<04> <09>
$<04><03><>&Tk <0C>+,&VM <20>&XV <02>&[V =<3D>&^ <0C> d&a
~$ 5<>&e<07>(<03>+&f<03><03><>&i-&jqw <09>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>:<03>C&k<10><04> <09>
<EFBFBD>
<EFBFBD>,c!&l<10><04> <09>
Mr<03>0&<26>*<15><>' <0C>;<3B>(<17> X<>('<10> :<3A>((<0F> <0A><>()<0F> <0A><>(,<0F> "<22>(.<0F>Hvs(0 
<00>fs(1 
<00> <0A><>(2 
<00> <0A><>(5 <09><00> }<7D>(8 <09><00><0E><00>3
<00>3X<>(93)<29><01><18><18>c)<29><03>#'&<26><03><><0E>
3 #<23>OX<>#<23>T<0F>
H<>V v W#>
<0A>X2
QZ
<EFBFBD>
 <18>[
<EFBFBD>
<03>\8$^<05><03><>v<00>3$<24>_ <0A>L<>#<23><>c <0C>@<40>#<23>Cd <0C>D<><0E> <00>3
<07>#<23>j<15><03><>%<25><><05>d<><00><01>P&<26><>+P;|7|'<27><>f <20><00> )Q5<04> f3V*l<01> <0C><<3C>l<01><>+<2B><><01>4P]|Y|,"F<01><12><00>|{|#<23><01><15><03><>,<2C><01>3<00>|<00>|,<2C><01>3<00>|<00>|-lo<01>
<EFBFBD><03><>-up<01><11><02>@./<2F><01>30<><30>\ ()Pz0<><30>\ <)P{0<><30><00> z)<02>@<07>%C)<02>A<07>%C)<02>B<07>%C)<02>C<07>%C0<08><00> <00>)P
@<40>0<1C><00> <00>)Pt)Qt)Rz)S{0$<24><00> <00>)P
A1,<2C><00> 04<30>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
!<00>)P
<EFBFBD><EFBFBD>0@<40>!<00>)P
e<EFBFBD>0L<30>$!)P
<EFBFBD><EFBFBD>1T<31>1!0p<30>>!I)Q2)R
)St)}t)}t2<><32>a)P<03><>)Q<03><>1<><31>K!1<><31>K!X!<00>)P4)Qt)R61ԛe!0<><30>r!<00>)Q1)R<03><>3<18>u<00>)Rz)S{0 <20><00> <00>)Pt(h<><00> )Q2,34V<01> <0C><00><><00><01> +<2B><><01>2P<00>|<00>|5rc<01><07>}<00>|6end<01> <0C>7<><00>5i<01> <0C>i}_}8 \<5C><01><01>
9% <00>}<00>}9 <00>}<00>}:<3A>0h<30>!<00>)P1)Qt0t<30><00> <00>)P
@<40>0<><30><00>!<00>)P1)Qt0<><30>!<00>)Pu0<><30><00>!)Pu)Q
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
()R
&0<><30><00>!8)Pu)Q
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
()R
&<00>!_)Qv)R{)St)}v0<04><00>!s)Pu0<1C><00>!<00>)P
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
@<40>)Q
<EFBFBD><EFBFBD>)Ru)}v0$<24><00>!<00>)P
@<40>0@<40><00> <00>)P
@<40>)Qv0<><30><00> <00>)Q2(<04><00> )Q21<><31><00>!<00>!\ 1<><31>\ 0<04><00>!))Pw1<18><00>!08<30><00>!F)Pt1@<40><00> 0L<30>"c)Qz0T<30><00> ~)P
@<40>)Qv0`<60>"<00>)P1)Qx0l<30>$!<00>)P
<EFBFBD><EFBFBD>0<><30>""<00>)P
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<EFBFBD><EFBFBD>)Q0)S
<EFBFBD><EFBFBD>(<28><><00> )<02>@<07>%)<02>A<07>%)<02>B<07>%)<02>C<07>%;<3B>x <0C>A <fbx*A =<3D><>x>P'<27><>W  <0C>v W 3G >1f3<18>$<01><> ?numf-3~~0(<28>/"<00> )<08>@<40><04>A<EFBFBD><07>P<>3<EFBFBD>,1,<2C>;"10<31>G"@<40><><00><><12>A<><00>*%Aww*<2A>%A<><00>*<2A>%A<><00>*%A*x%Aqq*<2A>%A<><41><00><>*<2A>%A<><00>*<2A>%ACC*!%A<><00>*<2A>%A==*m%A<><00>*%AZZ*"%A)xA<><00>*)%A<><41><00><>*+%A<><00>*b%@<40><><00><>Y AG<41>G<>+EA&&*%%A<><00>*%B<><00>.@<40><00>)<29>@<40><><00><>(S@<40><><00><>(fA]]*g%AII*'%A<><00>*%@<40>,<2C>@<40><00>-<2D>BC<00>.<00><><00>,<04>$YH<00>{<00>i1<07><>1"<22><00>stdK <00><01><>AA(kdM *`<60><11><0E>+<2B>S`<60><11>M<>cV<00><00>cV<01>P`<60><11><02>@cV<00><00>cV<01>iV%<25><11>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<EFBFBD><1A><>\0K<01><11><07>vb<76><11>5oVv4<76><11><13>[hX2c
<EFBFBD><00>CZe  '<27>q2yT!<21><>|<07>;B <09><11>[n\<11><12><04><01>EBd<11><07>w<00>V<01>E*
<11><07><><00><00>V<01>Bd<11>S<00><00><00><02>VФ<11><07>S<00><00><00>V<1A>9]5WФ<11> <0B><00><02>VE<><11><1A>'V<01>EL<45><11><07><>;FV<01><13><><11>N<00>.^d<02>V<13><><11>7<><00>|<00>V<01>V<01>E<>><11>[[<00><00>VE<><45><11>.<2E><00><00>V<01>E<>P<11><07><><00><00>V<01> -,)`<07><><00>V<01> -<1A>XW# 
 nP<18>ys[<00>VEKVys<07><><00>Vdj<02>V<11>n+;<3B><00><00><00><02>V<01><01>/,<2C><>5<07>1<00><00><02>V<01><01><01>/<11>!>ׄ<00><00><00><02>V<01><01><11>MFI <00>.<00>
<02>V<01>/<T<>O<07>g+<01>,<01>/<01><<3C>4X<07>qL<01>,<01>/<01><<01>am<01>,<01> -<:at m<00><01>,<01><01><1A><>^D<><:ax<10><00><01>,<01><01><1A><>`<08><:a}<07>\<00><01>,<01>,<01>,<:a<11>X@ <01>,<01>/<01>/%<25><11><07>s++<01><01>,kA<11>֪@KV<01>V,<2C>M<11><1E>`zV<01><01><01>/<01>,dG<11><07><><00><00>V<01><01>l<><11>SV<01><00>V5l<35><11><07><>V<01><00>VPl<><11>r<>V<01> V<01>Vl<><11>7V#8V<01>V<01>Pl<><11><07><>VRgV<01>V<01><01>l<><11> V<01><00>V<01>V<01><01>Pl<><11>vV<01><00>V<01>/<01>Pl<><07>\V<01><00>V<01>Vl<>8VpV V1}Pl<><PV3CV<01>VPl<>@<07><>V]mV<01>VP5l<35><11><10>V<01><00>V<01>P<1B><><11><0E><00><01><><11> I<><00>V<00><00><02>V<><11> k<><11>u <00>,<01><00>V+C<11>yK<00>V V<01>VC<11><07>(<00>V:EV<01>/C<11><07>e<00>V_jV -C<11><07><00>V<01><00>V<01>VC<07><><00>V<01><00>V1}<03><>0B<><01><00><02>VQ<>:P<><00><01><00>VQ<>BM<00>  <02>VendJ<07>p<00>. 4 VendR<07><><00>N T <02>V{<7B>b01~<03><>[vT { <00> Vu<>a56~<03><>dX<><00> <01> <00> <02>VW[m<07><>T <01> <00> VW[v}<00> <01> <00> <02>VP<>|<00>

<02>V<03>7<11>K<><00>(
.
<02>V<03><><11><07><><00> H
N
<02>VV[<11><07>J<00> h
n
<02>Vd<11><00><00><01>
<00>
<02>V-
<11><07><><00><01>
<00>
<02>V<03><11> <20><00><01>
<00>
<02>V <0A><><11><07>'<01>
<00>
V<01> - <0A><><11><07>
 V<01> <0A>O<11><07><>+ 1 V<03><11>{<7B><00>K Q <02>V <0A><><11>{g r V<01> <0A><><11>.b<01> <00> Vm]E<00>.<01> <00> <02>V <0B>[7{
W8<><00> <01> <00> <02>V<01><16>Z2o
W'<07><><00>   V<01>at<<00> + 6 <02>V<01>atQ%*<00> O Z V<01>W<>a<07>9<00> t z VW<>l)<29><00> <01> <00> <02>V@Bw<07><00> <01> <00> V@B<11><07>
<00> <01> <00> <02>VP<><11>2`<00>V<01> <00> V<01>VP<><11>'y<00>V $ V<01>/P<><11><03><00>V> I V -P<><11><07><><00>Vc n V1}\<11>[?<00>V<01> <00> V<01>V\<11><07><><00>V<01> <00> V<01>V<01><01>\<11><07><><00>V<01> <00> V<01>/<01>\<11><08><00>VV<01>/\<07>s<00>V+;V<01> -\
<07>,<00>VU`V1} ;BEwfv<00>V -nAT<07><><00>V<01><00>V<01>VnAd<07><><00>V<01><00>V<01>VnA{<07>3<00>V<01><00>V<01>V<01><01>nA<11>z<><00>V$V<01>/<01>nA<11><07><00>V>IV<01>/nA<11><07><><00>VcsV<01> -nA<11> <0A><00>V<01><00>V1}|<11>Wl<00><01><00>V<01><01> - |KQ*<01><00>V<01>1}|_<14><00>VV<01><01>V|v<07><><00>V1KV<01><01>V<01><01>|<11><07><00>VezV<01><01>/<01>|<11><07>j<00>V<01><00>V<01><01>/|<11>:<3A><00>V<01><00>V<01><01> -|<11>W<00><01><00>V<01> - ߉l<1E>gG<07>L<00>V#3V<01><01>gG<07><00>MXV<01>gG,<07>0<00>r<00>V<01><01> <0A>?<07><01><00>VX<07><00>V<01><00>V<01><01><01>Vn/<00>V<01>V<01><01><01>V<01><01><11>E<00>V :V<01><01><01>/<01><11><07>$<00>VTiV<01><01><01>/<11>D<><00>V<01><00>V<01><01><01> -<11>=<00>V<01><00>V<01><01><01>V<11><07><><00>V<01>V<01><01><01>/<01><11><><00>V/V<01><01><01>/ <07>I<00>VIcV<01><01><01> -B7n<00>V}<00>V<01><01><01>,<01>,M<07><><00>V<01><00>V<01><01><01>/<01>/X<07>b<00>V<01><00>V<01><01><01><01>c<07>/<00>V3V<01><01><01><01>|!<21><00>VMbV<01><01>1}<11><><11>x<00>V{<00>V<01><01><01> -<11><11><07>M<00>V<00><00>V<01><01><01>/<01>Y<11>m,<00>V<00><00>V<01>/<01>W<><11>]<5D><00>  <02>V<01>,<01><01> <0A>\<11> <0B>6AV<01>V<03> <11>N<><00>/[a<02>VEd<11> v<00>/{<00><02>VEd P~<00>,<01><00>V|s <04><01><00><02>V<03><>! ˶<00><01><00><02>V<01>/<01><01><03><>/ o <00>
<02>V<01>V<01><03><>O <07>B<00>4D<02>V<01>/<01><03><>` Z<00>^n<02>V -<01><03><>m /<2F><00><01><00><02>V<01>V<01><03><><11> F<><00><01><00><02>V<01>/<01><01><03><><11> B<00><01><00><02>V<01>/<01><03><><11> :<3A><00> <02>V -<01><1D><11> V<00>5E<02>V<01>V<01><1D><11> <07><00>_t<02>V<01>/<01><01><1D><11> <07><><00><01><00><02>V<01>/<01><1D>
<07>I<00><01><00><02>V -<01>I7
<07><><00><01><00><02>V<01>V<01>I73
<07>Y<00> !<02>V<01>/<01><01>I7A
<07><><00>;K<02>V<01>/<01>I7U
T#<00>eu<02>V -<01>b[c
]<5D><00><01><00><02>V<01>V<01>b[<11>
a<><00><01><00><02>V<01>/<01><01>b[<11>
&<26><00><01><00><02>V<01>/<01>b[<11>
 v<00>"<02>V -<01>b3<11>
<04><00><L<02>V<01>V<01>b3<11>
P<><00>f{<02>V<01>/<01><01>b3<11>
Ò<00><01><00><02>V<01>/<01>b3<11>
w<><00><01><00><02>V -<01><03><> "<22>N<01><00><02>V<01><01>(<28> d\+<02>V<01>V(<28>x or+8M<02>V<01><01><01>V(<28><11> mV+g<00><02>V<01><01><01>V<01><01>(<28><11> <07><>+<01><00><02>V<01>/(<28><11> gq+<01><00><02>V<01><01><01>/(<28><11> /F+<01><02>V<01><01><01>/<01>
 -:FL:(<28><00>S
N <<3C>J!N
/VA@8 <0B>+0 -1 !-2 --3 9-5 <0B>-6 <0B>-7 <0B>-8 <0B>-: u-; <0B>-< <0B>-= <0B>-? M.@ 5.B E-C Q-D ]-E i-G .H .I .J ).L <0B>-M <0B>-N <0B>-O <0B>-Q ^.R A.nX9 <0C>>&8;-<2D>. <0B>y<-<2D>.ߚ><11><>Lpv<02>.o<>Ct<>L<00><00><02>._Tp<00>.=__v<00>.
24o9 #>&8;-<2D>. <0B>y<-<2D>. ><11><><00><00><00><02>.o<>Ct[<00> <02>._Tp<00>.=__v<00>.
<EFBFBD> <0B><>N-2<1B><>9 <0C>>&8;-B+ <0B>y<-;+ϕ>~yNrx<02>.o<>C<1C>5N<00><00><02>._Tp;+=__v;+
4w<> <15> wk<77><15> 4
L
<EFBFBD><00>4
L+<2B><>/<01>/
<EFBFBD><00>4MO5.M<00>}<7D>9 z>&8;-B+ <0B>y<-;+%[>/_BH*/o<>C<1C><>`f*/_Tp;+=__v;+
<19><>]
<EFBFBD><00><01><>^]<5D>0/<01>0/
<00>@a@<00>e<1E>Y
<1B>x_
<EFBFBD>+<2B>)6c
<EFBFBD>+<2B><1B><>g
+<2B>f*<2A>2  {/<1A> <0B>/<1A> o0<1A> <0B>0<1A> <0B>0<1A> <0B>0<1A> <0B>0<1A> <0B>0<1A> !1<1A> >1<1A> U1<1A> q1<1A> <0B>1<1A> <0B>1<1A> <0B>1<1A> <0B>1<1A> 2<1A> 2<1A> ,2<1A> M2<1A> m2<1A> <0B>2<1A> <0B>2<1A> <0B>2<1A><16>/<1A>z <1A><16>2<1A>3<1A>Z3<1A>3<1A>:3<1A>u3<00>_V2"V" <00>{<7B>4 #"(}<7D>O "<14>mQ <0A>,<00>}<7D>S<10><><00>3e p <02>3<01>,E<><45>U 3<><00> <00> <02>3E<>V <0C>/<00> <00> <02>3<13>uX <0A>&<00>,<00> <00> <02>3}<7D>`<07><><00>3<01> <00> <02>3}<7D>b<07><><00>3<01> !<02>3<01>3}<7D>e<07><><00>3!)!<02>3B"}<7D>i<00>3B!M!<02>3<01>3Cv9<00>3f!q!<02>3<01>3Czf<><00>3<01>!<00>!<02>3<01>3<07>d<1D>K{<00>,<01>!<00>!<02>3+&<26>\<1D>!<01>!<00>!<02>3<01>3<00>ܙ<1D><10><><00>.<01>!<00>!<02>3Z<<1D>!<21><00>3"<02>3
2 I+"92 <00><01>1E<08>'B"2 <0B><><1B><1D>+"<22>G
N"<00><04>;+S<1B><>V
<EFBFBD>"<00><01><>Y"M<00>3<01>"<02>3
g"]1<>],<2C><00>"<1C> q <0C>"<00><01> u <09> <0C><>۸۸۸n<><6E>+<1F>#<00>%<25>3<7F><33>3<>73f73<><33>
<EFBFBD>"ni<6E>+<1F>2#<00><01><>3 <0C>3'q
#*j<1F>
<EFBFBD>$Fn<46><1F>(<28>.F<><46><1F>'%+Fsg<1F>'%+F<><46><1F>%+F<>k<1F>(<28>.F<><1F>(<28>.F<>@<1F>(<28>.F<>B<1F>'%+F<><1F>'%+F<><46><1F>'%+FH<1F>'%+F<><1F>'%+Fl<46><1F>(<28>.<05><>(<28>.C<>(<28>.q<>
62#Q<>(<28>.W<>(<28>.(<28>.<05> (<28>.Q<>#(<28>.<05>2&(<28>.<02>+5#k<> <0C>&n<><1F>*<2A>.min<1F><07>]<00>.max<1F>D<><00>.x<><1F>(<00>.<05><><1F>)%+sg<1F>)%+<05><><1F>%+<05>k<1F>*<2A>.<05><1F>*<2A>.<05>@<1F>*<2A>.<05>B<1F>)%+YE<1F><07><><00>.1B<1F><07>r<00>.<05><1F>)%+<05><><1F>)%+H<1F>)%+<05><1F>)%+l<><1F>*<2A>.<05><><1F>*<2A>.C<><1F>*<2A>.q<><1F>82#Q<><1F>*<2A>.s7<1F>Ã<00>.<0F><><1F><07><><00>.G<><1F><13><00>.P<1F>2<00>.W<><1F>*<2A>.<1F>*<2A>.<05><1F>*<2A>.Q<><1F>*<2A>.<05>2<1F>*<2A>.<02><1F>7#_Tp<00>.<19>K<1F> <0C>(n<><1F>*<2A>.min<1F><07>Q -max<1F>m<> -x<><1F>t<> -<05><><1F>)%+sg<1F>)%+<05><><1F>%+<05>k<1F>*<2A>.<05><1F>*<2A>.<05>@<1F>*<2A>.<05>B<1F>)%+YE<1F><07><> -1B<1F>"<22> -<05><1F>)%+<05><><1F>)%+H<1F>)%+<05><1F>)%+l<><1F>*<2A>.<05><><1F>*<2A>.C<><1F>*<2A>.q<><1F>82#Q<><1F>*<2A>.s7<1F> <0C><> -<0F><><1F>lJ -G<><1F>?<3F> -P<1F>4 -W<><1F>*<2A>.<1F>*<2A>.<05><1F>*<2A>.Q<><1F>*<2A>.<05>2*<2A>.<02>7#_Tp -<19>D <0C>*n<> *<2A>.min <07>j<00>+max<18><00>+x<>{$<00>+<05><>)%+sg)%+<05><>%+<05>k*<2A>.<05>*<2A>.<05>@*<2A>.<05>B)%+YE"<07>%<00>+1B%<07><00>+<05>')%+<05><>()%+H))%+<05>*)%+l<>,*<2A>.<05><>-*<2A>.C<>.*<2A>.q<>/82#Q<>1*<2A>.s74<07>G<00>+<0F><>7w<><00>+G<>:<07><><00>+P><1B><00>+W<>A*<2A>.B*<2A>.<05>C*<2A>.Q<>E*<2A>.<05>2F*<2A>.<02>G7#_Tp<00>+ M <0C>,n<>O*<2A>.minR4<><00>+maxU<07>z<00>+x<>YX<><00>+<05><>\)%+sg^)%+<05><>a%+<05>kc*<2A>.<05>d*<2A>.<05>@e*<2A>.<05>Bf)%+YEiTF<00>+1Bl#Y<00>+<05>n)%+<05><>o)%+Hp)%+<05>q)%+l<>s*<2A>.<05><>t*<2A>.C<>u*<2A>.q<>v82#Q<>x*<2A>.s7{p<><00>+<0F><>q<00>+G<><1F><07>u<00>+P<1F><07>'<00>+W<><1F>*<2A>.<1F>*<2A>.<05><1F>*<2A>.Q<><1F>*<2A>.<05>2<1F>*<2A>.<02><1F>7#_Tp<00>+<19><1F> <0C>.n<><1F>*<2A>.min<1F>L<><00>.max<1F>Y<00>.x<><1F>f<><00>.<05><><1F>)%+ sg<1F>)%+ <05><><1F>%+<05>k<1F>*<2A>.<05><1F>*<2A>.<05>@<1F>*<2A>.<05>B<1F>)%+YE<1F>
I<00>.1B<1F>W<><00>.<05><1F>)%+<05><><1F>)%+H<1F>)%+<05><1F>)%+l<><1F>*<2A>.<05><><1F>*<2A>.C<><1F>*<2A>.q<><1F>82#Q<><1F>*<2A>.s7<1F>͎<00>.<0F><><1F>7<><00>.G<><1F>6<00>.P<1F>wy<00>.W<><1F>*<2A>.<1F>*<2A>.<05><1F>*<2A>.Q<><1F>*<2A>.<05>2<1F>*<2A>.<02><1F>7#_Tp<00>.<19><><1F> <0C>0n<><1F><1D>.min<1F>c<><00>.max<1F><07>`<00>.x<><1F><07><><00>.<05><><1F>%+sg<1F>%+<05><><1F>%+<05>k<1F><1D>.<05><1F><1D>.<05>@<1F><1D>.<05>B<1F>%+YE<1F><07><><00>.1B<1F>J<><00>.<05><1F>%+<05><><1F>%+H<1F>%+<05><1F>%+l<><1F><1D>.<05><><1F><1D>.C<><1F><1D>.q<><1F>+2#Q<><1F><1D>.s7<07><00>.<0F><>R<><00>.G<>2<><00>.P a7<00>.W<> <1D>.<1D>.<05><1D>.Q<><1D>.<05>2<1D>.<02>*#_Tp<00>.<19>T <0C>2n<><1D>.minR|
/max <07>
/x<>#<>
/<05><>%%+ sg&%+ <05><>'%+<05>k(<1D>.<05>)<1D>.<05>@*<1D>.<05>B+%+YE.<07>:
/1B1%<25>
/<05>3%+<05><>4%+H5%+<05>6%+l<>8<1D>.<05><>9<1D>.C<>:<1D>.q<>;+2#Q<><<1D>.s7?1[
/<0F><>B<07>K
/G<>E<07>6
/PH<07>J
/W<>J<1D>.K<1D>.<05>L<1D>.Q<>N<1D>.<05>2O<1D>.<02>P*#_Tp
/<19><>V <0C>4n<>X*<2A>.min[<07><00>+max^׽<00>+x<>bǀ<00>+<05><>e)%+sgf)%+<05><>h%+<05>kj*<2A>.<05>k*<2A>.<05>@l*<2A>.<05>Bm)%+YEp<07>U<00>+1Bs<07><><00>+<05>u)%+<05><>v)%+Hw)%+<05>x)%+l<>z*<2A>.<05><>{*<2A>.C<>|*<2A>.q<>}82#Q<>*<2A>.s7<1F>%<25><00>+<0F><><1F>%6<00>+G<><1F><07>2<00>+P<1F>D<00>+W<><1F>*<2A>.<1F>*<2A>.<05><1F>*<2A>.Q<><1F>*<2A>.<05>2<1F>*<2A>.<02><1F>7#_Tp<00>+<1B><1F> <0C>6n<><1F>*<2A>.min<1F><07><><00>+max<1F>̰<00>+x<><1F><07>]<00>+<05><><1F>)%+sg<1F>)%+<05><><1F>%+<05>k<1F>*<2A>.<05><1F>*<2A>.<05>@<1F>*<2A>.<05>B<1F>)%+YE<1F>k<00>+1B<1F>}c<00>+<05><1F>)%+<05><><1F>)%+H<1F>)%+<05><1F>)%+l<><1F>*<2A>.<05><><1F>*<2A>.C<><1F>*<2A>.q<><1F>82#Q<><1F>*<2A>.s7<1F>f<00>+<0F><><1F><07><><00>+G<><1F>V<00>+P<1F><07>Z<00>+W<><1F>*<2A>.<1F>*<2A>.<05><1F>*<2A>.Q<><1F>*<2A>.<05>2<1F>*<2A>.<02><1F>7#_Tp<00>+<19>&<1F> <0C>8n<><1F>*<2A>.min<1F>T<>+max<1F>l+x<><1F><07>{+<05><><1F>)%+sg<1F>)%+ <05><><1F>%+<05>k<1F>*<2A>.<05><1F>*<2A>.<05>@<1F>*<2A>.<05>B<1F>)%+YE<1F><07><>+1B<1F>>+<05>)%+<05><>)%+H)%+<05>)%+l<>*<2A>.<05><>*<2A>.C<>*<2A>.q<> 82#Q<> *<2A>.s7=B+<0F><><07><>+G<>t+P<07>n+W<>*<2A>.*<2A>.<05>*<2A>.Q<>*<2A>.<05>2*<2A>.<02>7#_Tp+|L% <0C>:n<>'*<2A>.min*#<23>;+max-<07>\;+x<>1U;+<05><>4)%+ sg6)%+ <05><>9%+<05>k;*<2A>.<05><*<2A>.<05>@=*<2A>.<05>B>)%+YEA<1E>;+1BDk;+<05>F)%+<05><>G)%+HH)%+<05>I)%+l<>K*<2A>.<05><>L*<2A>.C<>M*<2A>.q<>N82#Q<>P*<2A>.s7S<07><>;+<0F><>V?G;+G<>Z<07>\;+P^<07><>;+W<>a*<2A>.b*<2A>.<05>c*<2A>.Q<>e*<2A>.<05>2f*<2A>.<02>g7#_Tp;+<19><>m =n<>o*<2A>.minri<00>,maxu<07><00>,x<>y<07><><00>,<05><>|)%+sg})%+ <05><>%+<05>k<1F>*<2A>.<05><1F>*<2A>.<05>@<1F>*<2A>.<05>B<1F>)%+YE<1F>06<00>,1B<1F><07>l<00>,<05><1F>)%+<05><><1F>)%+H<1F>)%+<05><1F>)%+l<><1F>*<2A>.<05><><1F>*<2A>.C<><1F>*<2A>.q<><1F>82#Q<><1F>*<2A>.s7<1F>Nf<00>,<0F><><1F>/:<00>,G<><1F>Iv<00>,P<1F><07><><00>,W<><1F>*<2A>.<1F>*<2A>.<05><1F>*<2A>.Q<><1F>*<2A>.<05>2<1F>*<2A>.<02><1F>7#_Tp<00>,<19><1F> ?n<><1F>*<2A>.min<1F><07>q<00>+max<1F>_<00>+x<><1F><18><00>+<05><><1F>)%+ sg<1F>)%+ <05><><1F>%+<05>k<1F>*<2A>.<05><1F>*<2A>.<05>@<1F>*<2A>.<05>B<1F>)%+YE<1F><07><><00>+1B<1F>s<><00>+<05><1F>)%+<05><><1F>)%+H<1F>)%+<05><1F>)%+l<><1F>*<2A>.<05><><1F>*<2A>.C<><1F>*<2A>.q<><1F>82#Q<><1F>*<2A>.s7<1F><07><><00>+<0F><><1F><07><><00>+G<><1F><07>t<00>+P<1F>-&<00>+W<><1F>*<2A>.<1F>*<2A>.<05><1F>*<2A>.Q<><1F>*<2A>.<05>2<1F>*<2A>.<02><1F>7#_Tp<00>+I~<1F> An<><1F>*<2A>.min<1F>ش-max<07>L-x<><11>-<05><>)%+?sg
)%+<05><> %+<05>k*<2A>.<05>*<2A>.<05>@*<2A>.<05>B)%+YEx-1BWH-<05>)%+<05><>)%+H)%+<05>)%+l<>*<2A>.<05><> *<2A>.C<>!*<2A>.q<>"82#Q<>$*<2A>.s7'<07><>-<0F><>*<07>R-G<>-T<>-P1<07>9-W<>3*<2A>.4*<2A>.<05>5*<2A>.Q<>7*<2A>.<05>28*<2A>.<02>97#_Tp-<19><>? 'Cn<>A*<2A>.minD<00>&maxG<07>@&x<>K<07>H&<05><>N)%+@sgP)%+<05><>S%+<05>kU*<2A>.<05>V*<2A>.<05>@W*<2A>.<05>BX)%+YE[<07><>&1B^8<>&<05>`)%+<05><>a)%+Hb)%+<05>c)%+l<>e*<2A>.<05><>f*<2A>.C<>g*<2A>.q<>h82#Q<>j*<2A>.s7m<07>F&<0F><>q<07><>&G<>u&PyaM&W<>|*<2A>.}*<2A>.<05>~*<2A>.Q<><1F>*<2A>.<05>2<1F>*<2A>.<02><1F>7#_Tp&<19>6: 2En<><*<2A>.min?<07><><00>.maxB֖<00>.x<>F}<00>.<05><>I)%+sgJ)%+<05><>L%+ <05>kO*<2A>.<05>P*<2A>.<05>@Q*<2A>.<05>BR)%+YEU<10><00>.1BX<07>K<00>.g<>Z)%+<00>g<><67>[)%+[H\)%+<00><05>])%+&l<>_*<2A>.<05><>`*<2A>.C<>a*<2A>.q<>b82#Q<>d*<2A>.s7hL<00>.<0F><>k<07><><00>.G<>n<07><><00>.PqF<><00>.W<>s*<2A>.u*<2A>.<05>v*<2A>.Q<>x*<2A>.<05>2y*<2A>.<02>{7#_Tp<00>.<19><><1F> @Gn<><1F>*<2A>.min<1F>H<00>.max<1F>!<21><00>.x<><1F><07><><00>.<05><><1F>)%+5sg<1F>)%+<05><><1F>%+<05>k<1F>*<2A>.<05><1F>*<2A>.<05>@<1F>*<2A>.<05>B<1F>)%+YE<1F><07>C<00>.1B<1F>,u<00>.g<><1F>)%+<00>xg<><67><1F>)%+<00>}xH<1F>)%+x<><1F>)%+4l<><1F>*<2A>.<05><><1F>*<2A>.C<><1F>*<2A>.q<><1F>82#Q<><1F>*<2A>.s7<1F>tm<00>.<0F><><1F><07><><00>.G<><1F><07><><00>.P<1F><07>v<00>.W<><1F>*<2A>.<1F>*<2A>.<05><1F>*<2A>.Q<><1F>*<2A>.<05>2<1F>*<2A>.<02><1F>7#_Tp<00>.5<><1F> NIn<><1F>*<2A>.min<1F><07>}+max<1F><07><>}+x<><1F>;b}+<05><><1F>)%+5sg<1F>)%+<05><><1F>)%+<05>k<1F>*<2A>.<05><1F>*<2A>.<05>@<1F>*<2A>.<05>B<1F>)%+YE<1F><07><>}+1B<1F>+<2B>}+g<><1F>)%+<00>xg<><67><1F>)%+<00>}xH<1F>)%+x<><1F>)%+4l<><1F>*<2A>.<05><><1F>*<2A>.C<><1F>*<2A>.q<><1F>82#Q<><1F>*<2A>.s7<1F>p<>}+<0F><><07> }+G<><07><>}+P<07><>}+W<> *<2A>. *<2A>.<05> *<2A>.Q<>*<2A>.<05>2*<2A>.<02>7#_Tp}+ K C K ;C R _C U zC [ <0B>C \ <0B>C ] <0B>C ] <0B>C ^ D ^ +D _ KD _ jD ` <0B>D ` <0B>D!@ QE!<21> <0B>D!<21> G!<21> G!<21> 5G!<21> VG!<21> rG!<21> <0B>G!<21> <0B>G!<21> <0B>G!<21> <0B>G!<21> <0B>G!<21> H!<21> 0H!<21> VH!<21> sH!<21> <0B>H!<21> <0B>H!<21> <0B>H!<21> <0B>H!<21> I!<21> -I!<21> NI!<21> oI!<21> <0B>I!<21> <0B>I!<21> <0B>I!<21> <0B>I!<21> J!<21> *J!<21> EJ!<21> `J!<21> {J!<21> <0B>J!<21> dK!<21> zK!<21> <0B>K!<21> <0B>K!<21> <0B>K!<21> L!<21> !L!<21> CL!<21> _L!<21> L!<21> <0B>L!<21> <0B>L!<21> <0B>L!<21> <0B>L!<21> M!<21> :M!<21> [M!<21> |M!<21> <0B>M!<21> <0B>M!<21> <0B>M!<21> <0B>M!<21> N!<21> (N!<21> GN!<21> fN!<21> <0B>N!<21> <0B>N!<21> <0B>N !<16>N ! O !
)O !CL !NI !<0E>I !!<0E>I !%<0E>N !&O !')O_8 <0C>M<nA\<5C>:LJOPO<18>!! -
:LIeq"(<28><00>.kLPOPOIlt&gt<00>.<00>LPOPO(<28>.sg+<00>LVOVO<01>M-
<ɏ<00>M<00>LVO<16><>Fo<>VO<00>LVO<01>MPO<16>4T}\OM\OVO<01>MW<>\#d\O9M\OVO<01>MnAd<0E>\O^M\O<01>M:L<16>!l<03>:LyMbO<18><>!+
yMNr9<>yM<00>MPO<16><>v<07>O<00>.<00>MbObOeofz4<>yM.t~~<7E>yM<00>MbO
 - <0B>6<1B>;+s<><06> <0C>O<nA<06><07> 2N<01>O<01>O<18>!<06>!<21>.
2NIeq<06><07>R<00>.cN<01>O<01>OIlt<06><07><><00>.<00>N<01>O<01>O(<28><06><07><>+<00>N<01>O<01>O<01>M-
<06>M<><00>M<00>N<01>O<16><><06>7h<00>O<00>N<01>O<01>M<01>O<16>4<06><07><><00>O O<01>O<01>O<01>MW<><06><07><><00>O1O<01>O<01>O<01>MnA<06>MQ<00>OVO<01>O<01>M2N<16>!<06>ݔ2NqO<01>O<18><><06>!<21>D
qON<06>4<>qO<00>O<01>O<16><><06>“<00>.<00>O<01>O<01>Oeof<06><07>qO.t<06>p<>qO<00>O<01>O
<00>.K<><06> <0C>Q<nA)]P<01>O<01>O<18>!!<21>.
PIeq <07>l<00>.OP<01>O<01>OIltY3<00>.nP<01>O<01>O(<28><07>+<00>P<01>O<01>O<01>M-
D<><00>M<00>P<01>O<16><>'<07>q<00>O<00>P<01>O<01>M<01>O<16>40z<><00>O<00>P<01>O<01>O<01>MW<>9@<00>OQ<01>O<01>O<01>MnAB<07>&<00>OBQ<01>O<01>MP<16>!J<07><>P]Q<01>O<18><>!<21>-
]QNN<07><>]Q<00>Q<01>O<16><>R1<><00>.<00>Q<01>O<01>OeofVT<>]Q.tZ<07>~]Q<00>Q<01>O
<00>.<19><>_ <0C>S<nAh<07><>
R<01>O<01>O<18>!a!
/
RIeql<07>X<00>.;R<01>O<01>OIltp<07><><00>.ZR<01>O<01>O(<28>t<07><>+R<01>O<01>O<01>M-
aE<00>M<00>R<01>O<16><><06><07><><00>O<00>R<01>O<01>M<01>O<16>4<06><07><<00>O<00>R<01>O<01>O<01>MW<><06>k<><00>O S<01>O<01>O<01>MnA<06>p
<00>O.S<01>O<01>M
R<16>!<06><07><>
RIS<01>O<18><>b!<21>-
ISN<06><07>TISvS<01>O<16><><06><07>h<00>.<00>S<01>O<01>Oeof<06>#<23>IS.t<06><07>,IS<00>S<01>O

/ -<2D><1B>+ <0B>jK-<2D> l \T; O! <0B>iI<00>OTT<02>OO! <0B><07><><00>O0T;T<02>OPZ<><5A> <0B>,<00>,PT<02>O+
<EFBFBD>S"5 P"6 VQ"7 qQ(<28><>#G
^[h#V<1F>M
<EFBFBD>TyCZ#X"<22>T(9#]n<><00>Q<01>T<00>T<02>Q^(9#a<11><><00>Q<01>T<00>T<02>QR(9#c><3E><00>QUU<02>Q<01>/(9#iމ<00>Q'U7U<02>Q<01>/<01>T^C#n<07>n
RQU\U<02>QR<1A><>#R+<2B>/Q<>#s<07>|\U<01>U<00>URJend#w<07><>\U<01>U<00>URP<>#{<07><>\U<01>U<00>UR<07>7#{\U<01>U<00>URu<>#TK^<07><>#<23>ʯ<00>U VVRW[#<23><07>n<00>U*V0VR<07><>#<23><07>d<00>UIVOVRV[#<23><07><><00>UhVnVRd#<23>ʹ<00>T<01>V<00>VR-
#<23><07><><00>T<01>V<00>VR<07>#<23>s<00>T<01>V<00>VRm]#<23>~/<00>.<01>V<00>VR
W#<23>a <00>OWWR<01>TJat#<23><07><><00>O&W1WR<01>TW<>#<23><07>C<00>OJWPWR@B#<23>}<7D><00>OiWoWREd#<23>!<21><00>/<01>W<00>WR&<17>#<23><07>/<01>W<00>W<02>Q<01>T&c\#<23><07><><01>W<00>W<02>Q<01>T&<26>\#<23>%x<01>W<00>W<02>Q
RW<>#<23><07><><00>TXXR<01>,<01>T<01>T<07><>#<23>!<21>yT5XEXR<01>T<01>T(<28>#<23><07>'+^XiXRyT(<28>#<07><>+<01>X<00>XR<01>T<01>TyT(<28># M<>+<01>X<00>XR<01>T<01>TyT<01>T<01>T(<28>#~<7E>+<01>X<00>XR<01>/(<28>#<07>#+Y%YR<01>T<01>T<01>/(<28>#z+?YYYR<01>T<01>T<01>/<01>T<03><>#"<07>p<00>TsY<00>YRyT<01>T<03><>#&m<00>T<01>Y<00>YR -<01>T<03><>#)1<><00>T<01>Y<00>YR<01>/<01>T<01>T<03><>#,<07><><00>T<01>YZR<01>/<01>T<03><>#0e<00>T Z0ZRyT<01>T<03><>#4<07>j<00>TJZZZR -<01>T<03><>#7<07>%<00>TtZ<00>ZR<01>/<01>T<01>T<03><>#:<07><><00>T<01>Z<00>ZR<01>/<01>T<1D>#>-<00>T<01>Z<00>ZRyT<01>T<1D>#Bъ<00>T<01>Z[R -<01>T<1D>#FRo<00>T![6[R<01>/<01>T<01>T<1D>#I<07><><00>TP[`[R<01>/<01>TI7#ML<><00>Tz[<00>[RyT<01>TI7#RX<><00>T<01>[<00>[R -<01>TI7#V<00>T<01>[<00>[R<01>/<01>T<01>TI7#Z<07>&<00>T<01>[ \R<01>/<01>Tb[#^W<00>T'\7\RyT<01>Tb[#c<07><><00>TQ\a\R -<01>Tb[#f<15><00>T{\<00>\R<01>/<01>T<01>Tb[#j<0E><00>T<01>\<00>\R<01>/<01>Tb3#q<07><00>T<01>\<00>\RyT<01>Tb3#v<07><00>T<01>\]R -<01>Tb3#y% <00>T(]=]R<01>/<01>T<01>Tb3#}<06><00>TW]g]R<01>/<01>T<03>n#<23><07><><00>T<01>]<00>]R<01>T<01>/<03>!#<23>;<3B><00>T<01>]<00>]R<01>T<01>T%<25>#<23><07>m+<00>]<01>T<01>T;2#<23><12>MX'#<23><15>/
 -:FL
yT"<22>z(rO#G <0B>g[h#V<1F>M
!^yCZ#X".^(9#]<07><>RZ^`^R^(9#a<0F>Rz^<00>^R%R(9#c<11><>R<01>^<00>^R<01>2(9#i<07><>R<01>^<00>^R<01>2!^^C#n|+R<01>^<00>^R%R<1A><>#R+<2B>2Q<>#s!<21><00>^_#_1RJend#wh|<00>^<_B_1RP<>#{<06><00>^[_a_1R<07>7#<07>F<00>^z_<00>_1Ru<>#TK<54>g<07><>#<23>x<><00>_<01>_<00>_1RW[#<23><11><00>_<01>_<00>_1R<07><>#<23><07><00>_<01>_<00>_1RV[#<23>G<><00>_` `1Rd#<23><07><>!^"`(`1R-
#<23><1A>!^A`G`1R<07>#<23>><3E>!^``f`1Rm]#<23><07>3<00>.`<00>`1R
W#<23><07>X
P<01>`<00>`1R!^Jat#<23>z<>
P<01>`<00>`1R!^W<>#<23><07>4
P<01>`<00>`1R@B#<23><07>
Pa
a1REd#<23><07><><00>2#a)a1R&<17>#<23><16>>aIaR!^&c\#<23>1^aiaR!^&<26>\#<23>'~a<00>aR+RW<>#<23><07>b!^<01>a<00>a1R<01>1!^!^<07><>#<23>aB^<01>a<00>a1R!^!^(<28>#<23><07><>+<01>ab1R^(<28>#+b3b1R!^!^^(<28># <16>+Mblb1R!^!^^!^!^(<28>#<07>]+<01>b<00>b1R<01>2(<28>#<07><>+<01>b<00>b1R!^!^<01>2(<28>#<00>+<01>b<00>b1R!^!^<01>2!^<03><>#"+!^cc1R^!^<03><>#&~p!^8cHc1R<01>.!^<03><>#)<07><>!^bcwc1R<01>2!^!^<03><>#,<1E>!^<01>c<00>c1R<01>2!^<03><>#0 <0B>!^<01>c<00>c1R^!^<03><>#4s!^<01>c<00>c1R<01>.!^<03><>#7<07><>!^d$d1R<01>2!^!^<03><>#:_x!^>dNd1R<01>2!^<1D>#><07>c!^hdxd1R^!^<1D>#B<08>!^<01>d<00>d1R<01>.!^<1D>#F<07><>!^<01>d<00>d1R<01>2!^!^<1D>#IS!^<01>d<00>d1R<01>2!^I7#MD<>!^e%e1R^!^I7#R<07>3!^?eOe1R<01>.!^I7#VO!^ie~e1R<01>2!^!^I7#Z<07>!^<01>e<00>e1R<01>2!^b[#^1<>!^<01>e<00>e1R^!^b[#cv!^<01>e<00>e1R<01>.!^b[#f<07>v!^f+f1R<01>2!^!^b[#j<07>^!^EfUf1R<01>2!^b3#q<17>!^off1R^!^b3#v<07><>!^<01>f<00>f1R<01>.!^b3#y>-!^<01>f<00>f1R<01>2!^!^b3#}H}!^<01>fg1R<01>2!^<03>n#<23><07>D!^g,g1R!^<01>/<03>!#<23><07>^!^FgVg1R!^!^%<25>#<23>e#+vg!^!^;2#<23><12>MX'#<23><15>2
<00>.:FN
^"RI(<28>
#G @q[h#V<1F>M
<EFBFBD>gyCZ#X"<22>g(9#],v@R<01>g<00>g@R^(9#a<11>p@Rh h@RFR(9#c<11><>@R9hDh@RLR(9#i0.@R]hmh@RLR<01>g^C#ndRR<01>h<00>h@RFR<1A><>#R+LRQ<>#s<><00>h<01>h<00>hXRJend#w<07><><00>h<01>h<00>hXRP<>#{s3<00>h<01>h<00>hXR<07>7#P<00>hiiXRu<>#TKEq<07><>#<23><07>iAiGiXRW[#<23>=<3D>i`ifiXR<07><>#<23>t<>ii<00>iXRV[#<23>ehi<01>i<00>iXRd#<23>:<3A><00>g<01>i<00>iXR-
#<23>=0<00>g<01>i<00>iXR<07>#<23><07><00>g<01>ijXRm]#<23><07><><00>.j jXR
W#<23><07>^R9jDjXR<01>gJat#<23>MX^R\jgjXR<01>gW<>#<23>e<>^R<01>j<00>jXR@B#<23>3^R<01>j<00>jXREd#<23>ٕLR<01>j<00>jXR&<17>#<23><07><><01>j<00>j@R<01>g&c\#<23>B<01>jk@R<01>g&<26>\#<23>C<>k$k@RRRW<>#<23>`<60><00>g=kRkXRdR<01>g<01>g<07><>#<23><07><00>gkk{kXR<01>g<01>g(<28>#<23><07>n+<01>k<00>kXR<01>g(<28>#yi+<01>k<00>kXR<01>g<01>g<01>g(<28># 2T+<01>klXR<01>g<01>g<01>g<01>g<01>g(<28>#@+!l,lXRLR(<28>#A<>+Fl[lXR<01>g<01>gLR(<28>#<07>"+ul<00>lXR<01>g<01>gLR<01>g<03><>#"<07><00>g<01>l<00>lXR<01>g<01>g<03><>#&<07><<00>g<01>l<00>lXR<01>.<01>g<03><>#)<07><><00>g<01>lmXRLR<01>g<01>g<03><>#,<07>V<00>g,m<mXRLR<01>g<03><>#04<><00>gVmfmXR<01>g<01>g<03><>#40<00>g<01>m<00>mXR<01>.<01>g<03><>#7% <00>g<01>m<00>mXRLR<01>g<01>g<03><>#:<07>|<00>g<01>m<00>mXRLR<01>g<1D>#><07>x<00>gnnXR<01>g<01>g<1D>#BН<00>g-n=nXR<01>.<01>g<1D>#FL<><00>gWnlnXRLR<01>g<01>g<1D>#Iz:<00>g<01>n<00>nXRLR<01>gI7#M <20><00>g<01>n<00>nXR<01>g<01>gI7#R;`<00>g<01>n<00>nXR<01>.<01>gI7#V <00>gooXRLR<01>g<01>gI7#Z֌<00>g3oCoXRLR<01>gb[#^<07><><00>g]omoXR<01>g<01>gb[#c3C<00>g<01>o<00>oXR<01>.<01>gb[#f"<22><00>g<01>o<00>oXRLR<01>g<01>gb[#jNR<00>g<01>o<00>oXRLR<01>gb3#q <09><00>g
ppXR<01>g<01>gb3#v<07>r<00>g4pDpXR<01>.<01>gb3#yC<><00>g^pspXRLR<01>g<01>gb3#}<1B><00>g<01>p<00>pXRLR<01>g<03>n#<23>1<><00>g<01>p<00>pXR<01>g<01>/<03>!#<23><07><><00>g<01>p<00>pXR<01>g<01>g%<25>#<23>Թ+q<01>g<01>g;2#<23><12>MX'#<23>LR
<00>.:F<00>O
<EFBFBD>g"<22>#(<28>o#G <0B>z[h#V<1F>M
WqyCZ#X"dq(9#]@LsR<01>q<00>qsR^(9#a<11>vsR<01>q<00>qsRyR(9#c<11> sR<01>q<00>qsRR(9#i<07>sR<01>qrsRRWq^C#n<07><><00>R"r-rsRyR<1A><>#R+RQ<>#s0-rSrYr<02>RJend#w<07>k-rrrxr<02>RP<>#{<07>5-r<01>r<00>r<02>R<07>7#<07>;-r<01>r<00>r<02>Ru<>#TK<54>z<07><>#<23><07>E<00>r<01>r<00>r<02>RW[#<23><07>~<00>r<01>rs<02>R<07><>#<23><<3C><00>rs s<02>RV[#<23><07>1<00>r9s?s<02>Rd#<23><07><>WqXs^s<02>R-
#<23><07>2Wqws}s<02>R<07>#<23>}=Wq<01>s<00>s<02>Rm]#<23><07><><00>.<01>s<00>s<02>R
W#<23><05><00>R<01>s<00>s<02>RWqJat#<23><07><><00>R<01>st<02>RWqW<>#<23><07><><00>Rt!t<02>R@B#<23><07><00>R:t@t<02>REd#<23>)zRYt_t<02>R&<17>#<23><07><>tttsRWq&c\#<23>RP<01>t<00>tsRWq&<26>\#<23><07><><01>t<00>tsR<01>RW<>#<23><07>QWq<01>t<00>t<02>R<01>RWqWq<07><>#<23>D<>Jquu<02>RWqWq(<28>#<23>q<>+/u:u<02>RJq(<28>#o<>+Tuiu<02>RWqWqJq(<28># `<60>+<01>u<00>u<02>RWqWqJqWqWq(<28>#<07>l+<01>u<00>u<02>RR(<28>#<07><>+<01>u<00>u<02>RWqWqR(<28>#|T+v*v<02>RWqWqRWq<03><>#"<07><>WqDvTv<02>RJqWq<03><>#&\WWqnv~v<02>R
/Wq<03><>#)%<25>Wq<01>v<00>v<02>RRWqWq<03><>#,N]Wq<01>v<00>v<02>RRWq<03><>#0<07> Wq<01>vw<02>RJqWq<03><>#4<07><>Wqw+w<02>R
/Wq<03><>#7<07><>WqEwZw<02>RRWqWq<03><>#:<07><>Wqtw<00>w<02>RRWq<1D>#>:<3A>Wq<01>w<00>w<02>RJqWq<1D>#B<07>+Wq<01>w<00>w<02>R
/Wq<1D>#F<07>>Wq<01>wx<02>RRWqWq<1D>#I<07><>Wq!x1x<02>RRWqI7#M<07>uWqKx[x<02>RJqWqI7#R<07><>Wqux<00>x<02>R
/WqI7#VC<>Wq<01>x<00>x<02>RRWqWqI7#ZJ<>Wq<01>x<00>x<02>RRWqb[#^2Wq<01>xy<02>RJqWqb[#c<07> Wq"y2y<02>R
/Wqb[#f<07>WqLyay<02>RRWqWqb[#j)Wq{y<00>y<02>RRWqb3#q<07>yWq<01>y<00>y<02>RJqWqb3#v;PWq<01>y<00>y<02>R
/Wqb3#y<07>MWq<01>yz<02>RRWqWqb3#}̏Wq(z8z<02>RRWq<03>n#<23><07>WqRzbz<02>RWq<01>/<03>!#<23><07>WWq|z<00>z<02>RWqWq%<25>#<23>U%+<00>zWqWq;2#<23><12>MX'#<23>R

/:F<00>Q
Jq"&X<00><01>k#q<{o<>w#sV#s<14>zo<>k1V1{o<>X$<24>V$<24>{o!<21>yVy){V#q<14>z%b <0B>F%c 'S%e <0B>S%f <0B>S%g <0B>S%h <0B>S%i <0B>S%j T%k "T%l HT%m iT%q <0B>T%r <0B>T%t <0B>T%u <0B>T%v U%x 2U%y IU%~ VU%<25> iU%<25> U%<25> <0B>U%<25> <0B>U%<25> <0B>U%<25> <0B>U%<25> <0B>U%<25> V#<23><0E> 1}<18><><0E><1B>,!<21><0E><07>L+|X|EVj|<18>X<0E>,<2C>S
X|[h<0E>$<24>M!<21><0E><07>y+|<00>|EVj|<01>|<18><><0E>-g0<"<22><0E>%<25><00>|EV+|j|<16><0E><07>Dj|<00>|KVr<><0E>=OX|}KV<18>y<0E> -<18>9<0E>'<27>/w<><0E>%<25>S (<28><00>S(11&/ ,~<1A><>&6<1A>/<14>U&:>}[h&5<18>M;2&;X}i&><11>-<00>V<00>}<00>}<02>V<01>}X}<1A><>&7<1A>/i&B΃<00>V<01>}<00>}<02>Vd&G<07><>X}<01>}<00>}<02>VQ<>&K0g<00>}<01>}~<02>VJend&O<07>e<00>}~#~<02>V_E -
1}"<13>"<22><> ') <0B>V '* <0B>VCabs(N<03><>}+g~}+Cabs(J<03><><00>.<00>~<01>.Cabs(Fx<><00>.<00>~<01>.Cabs(=8<>-<00>~-Cabs(8<03><><00>,<00>~<01>,<16>o'<27><03><>}+<00>~}+<16>o'<27><03><><00>.<01>.Cexp'<27><03><>}+}+Cexp'<27><03><><00>.9<01>.Ipow'<27><03> }+Y}+}+Ipow'<27><03>"<00>.y<01>.<01>.Ilog'V<03><>}+<00>}+Ilog'R<03><><00>.<00><01>.<11>)H
݀%<25>)J<10>e )K<0F><><11>)MH<16><00><00><16><10><01><><11>)P'<16><16><1C><16>ܙ)R<03><00>.4<>:<3A><1C>C)V<05>)"<22>R<>]<5D><16><01>.C)`0<>"<22>u<><00><><16>(<28><13>)d?<3F><00>.<00><><00><><1C>(<28>C)hQ<><00>.<00><>ƀ<1C>(<28>pQ<70>)l<05><>ր<16>
<EFBFBD> <0B>)E<19>+<1B>(v 5<> u{}+ +C<00>_Tp<00>.:<3A>+:c<><00><>:Q<>.<2E>̚)<29>
<EFBFBD><EFBFBD>+<2B><>%<25>)<29><10>9,)<29>;+̚)<29> +4<>z<><00><>4<><10>;+E<><45>)<29><05><><00><><00><>4<>E<14>)<29><05><><00><><00><>4<>E9)<29>h<>ҁ݁4<><01>S<13>)<29><05><><00>.<00><><00>:<3A>@<40>C)<29><05><><00>.<18>#<23>:<3A>@<40><13><>)<29><1D><00>.;<3B>F<>:<3A>@<40>)C)<29>74<00>.^<5E>i<>:<3A>@<40>)<29><05>R<00>.<00><><00><>:<3A>@<40><00>)<29><05><><00>.<00><>:<3A>@<40>
5<EFBFBD>'<27>)<29>
<EFBFBD><EFBFBD>+5<>'<27>)<29>F<>݂<00><>F<>'<27>)<29><07>F<><00><> <0B>F<><10>;+ <0B><>)<29><1D><><13><>)<29><05><> <0B>/<2F>5<>L<> <16>)<29><1D>WB)<29>o<>5<>Y<>_<>L<><13><>)<29><05>R<>w<>}<7D>F<><13><>)<29>V <0B><00><><00><>F<>+N<>)<29>iCR<><00><><00><>F<>N<>)BC <0B>׃<00><>F<>+P<>)
<05>\R<><00><><06>F<><01><> <0B>)F<>R<><1F>*<2A>F<><01><>aB)ǚ <0B>C<>N<>L<><01><>kB)2<> <0B>g<>r<>L<><01><>
W)&<05>5<><00><><00><>L<><01><> <0B><>)<29><16>
<EFBFBD><EFBFBD>kR).
Ն+5<>kR)5<05>SX<>ՄۄX<>kR)7iX<><00><><04>X<><10>;+kR):<05><>X<><1D>(<28>X<>^<5E><11><>)><05><><00><>A<>G<>d<> <0B>)1"<22>.WB)B<05>G<>m<>s<>d<><18><>)3"<22><><11><>)F<05>Fj<><00><><00><>X<><11><>)MOFs<><00><>ÅX<>+N<>)UGoj<>܅<00><>X<>N<>)\F3s<><00><><06>X<>+P<>)d<05><>j<><1F>*<2A>X<><01><> <0B>)k<05><>j<>C<>N<>X<><01><>aB)r<05><>s<>g<>r<>d<><01><>kB)ye<>s<><00><><00><>d<><01><>
W)<29>8G<><00><><00><>d<><01><><16>)0"<22>.<18><>)2"p<>
<EFBFBD><EFBFBD>(<28><>&/ Շ<1A><>&6p<><14>U&:<12><>[h&5<18>M;2&;<01>i&>K v<>3<>C<>v<>C<><01><1A><>&7p<>i&B<11><>v<>i<>o<>v<>d&Gw<><01><01><><00><>|<7C>Q<>&K<07><>C<><01><><00><>|<7C>Jend&O.rC<>Ƈ̇|<7C>_E<00>.
چ<1B><18> <15> u{<18>5<EFBFBD><35> <0B><><18>5<EFBFBD><35> <16><18>55<35> r2<00><>/v P<> +C<00>_Tp<00>. <0C>+ c<><16> Q<><00>(<28>8*e <0B><>;<15><01>g*m<11><>{<7B>*<07>G<00><><01><><00><><02><><00>{<7B>*<2A><07><><00><><01><><00><><02><><01><>ډ*r<1D><>{<7B>*<2A>c<><00><>݈<00><><02><><01><><07><>*<2A><07>[<00><><01><07><02><><16>*u2<75><32>WB*<2A><07>f<07>-<2D>3<><02><><1A><>*t0<74><30><16>*<2A>zr3<>Y<>_<><02><><07><>*<2A>R<00><>x<>~<7E><02><><07><>*<2A>BQP<><01><><00><><02><>+N<>*<2A>:x<00><><01><><00><><02><>N<>*<2A> xP<>ډ<00><><02><>+aB*<2A>#
P<><01><> <09><02><> <09>u{*s7<73><37>P<>*<2A>U<><00><>/<2F>:<3A><02><> <09>kB*B2P<>T<>_<><02><> <09> <0B>*H<><00><>y<><00><><02><> <09>
W*<07>|<07><01><><00><><02><> <09> r2<00><>
P<EFBFBD><1B>`<18> <0C><> u{<18>5<EFBFBD><35> <0B><><18> <16><18>5<EFBFBD><35> r2<00><>Y<>v .<2E> +C<00>_Tp<00>. <0C>+ c<>p<> Q<><00>.(,z*e <0B><>;<3B><><01>g*m<11><>{<7B>*Z<00><>j<>p<><02><><00>{<7B>*<2A>Q^<00><><01><><00><><02><><01><>ډ*r<1D><>{<7B>*<2A>
<EFBFBD><00><><01><>Ƌ<02><><01><><07><>*<2A><0F><00><>ߋ<00><><02><><16>*u2݊WB*<2A><07><><00><> <0B><11><02><><1A><>*t0ъ<16>*<2A>(<28><11>7<>=<3D><02><><07><>*<2A><07><><00><>V<>\<5C><02><><07><>*<2A><07><>.<2E>u<><00><><02><>+N<>*<2A><07><00><><01><><00><><02><>N<>*<2A>9.<2E><01><>Ì<02><>+aB*<2A><07>`.<2E>܌<00><><02><><01><>u{*s7ŊP<>*<2A><07>5<00><> <0A><18><02><><01><>kB*<07><>.<2E>2<>=<3D><02><><01><> <0B>*Z[<00><>W<>b<><02><><01><>
W*-<2D><00><>|<7C><00><><02><><01><> r2<00><>
.<2E>8<10> S d<> S <0B><> S <0B><> S <> S <10> S <0B><> S ?<3F>;<3B><>x <09><07><>b<><01><><01>b<>5x <09>o<>b<><1B>&<26>b<>m<><1D>X xi<>
&<26>5x <09><07><>b<>S<>c<>b<>c<>m<>[h v<1A>Mx <09><07><>b<><01><><00><>b<>c<>s<>m<><1D>y l+
<EFBFBD><EFBFBD>x <09><07><>b<>͎؎b<>ĸx <09>;<3B>b<><01><><00><>b<>y<>x <09>]<5D>b<><17>'<27>b<>ĸm<>x <09><07>!b<>A<>Q<>b<>y<>m<>x <07>_b<>k<>{<7B>b<><0F>m<>x 5<07><><00>,<01><><00><>b<>+C+<2B>><3E><><01><>ďb<>ĸC T<>ޏ<00><>b<>y<>C iy<><03><0E>b<><0F> nA |<07><>$<24>4<>b<>c<>s<> nA <09><07><>J<>U<>b<><0F><1D><> q=<3D>Q<> <09>;<3B>U<>}<7D><00><>b<><1D><> s<07>Q<> <09>67<00><><01><><00><><02><>end <09><07><>U<>ːѐb<>end <09><07>O<00><><01><><00><><02><>{<7B> u0<14><03><> <09><07>I<00><><19><1F>b<>u<> t5<19><03><> <09>V<1F>G<>M<><02><>W[ <09><16><00><>g<>m<>b<>W[ <09> K<1F><01><><00><><02><>P<> <07>G<00><><01><><00><><02><><03>7 <07><><00><>Ǒ͑<02><><03><> <07><><1F><01><><00><><02><>V[ _<1F><07> <0A><02><>d %ajc<>'<27>-<2D><02><><03> *<07><>c<>G<>M<><02><> <0A><> 8<07><>c<>n<>b<>c<> <0A><> L<05><01><><00><>b<>c<>s<> <0A>O lM<><01><><00><>b<><03> u
&c<>ʒВ<02><>m] ~F<><00>.<01><><00><><02><>&<26><>+B<05><><05><10>b<>c<><16> o2e
W <09><07><10>8<>C<>b<>c<> <0B> p7q
W <09>%<25>C<>k<>v<><02><>c<> <0A># <09>|U<02><><00><><02><>c<>at <09><07><><10><01><><00><>b<>c<>at <09><07><>C<>ԓߓ<02><>c<>W<> <09><07>,<10><01><><00><>b<>W<> <09>#<23>C<><19><1F><02><>@B <07>+<10>9<>?<3F>b<>@B <07><>C<>Y<>_<><02><>Ed <07><>۸y<><>b<>Ed #<07>N<00>/<01><><00><><02><> ;B 2<07><><01><><00><>b<>s<> ;B B_<>֔<00><>b<><01><> <0A> X<05><01><><00><>b<>|+v,U<><16>&<26>b<><01><>s<>| <09><18>U<>@<40>P<>b<><01><><01><>| <09>F<>U<>j<>z<>b<><01><><0F>| <09>s<>U<><01><><00><>b<><01><>c<>s<>gG %&<26>U<>ÕΕb<><01><>gG @<07><>U<><01><><00><>b<><01><><01><> <0A>\ WT<><0E><19>b<><> <0A><> iR/<2F>5<>b<> <0A> <09><11>K<>[<5B>b<>c<>s<> N{ <09>3q<>|<7C>b<>c<>&<26>m+<2B>c<><02><><00><>b<><01>Ms<> t+<2B><05><><02><>̖b<>U<>c<>s<> v+DA<02><><00><>b<>c<><03>O+~<05><00>.<07> <0A>b<>v<>+G<12>U<>'<27>7<>b<><01><><01><><03><> b<07>TU<>Q<>a<>b<><01><><01><><03>w h<07>
c<>{<7B><00><><02><>c<><01>/ k<> v<07><><02><><00><>b<><01><><1D><> m)՚dG+<2B>z<>U<>ӗޗb<>U<>dG+<2B>O?U<><02><><07>b<>U<>U<>, . <09><07><><1C>,<2C>b<>y<><01>S, . <09><07>dA<>Q<>b<>y<>(_Tp+:(<28>i<>
<EFBFBD><EFBFBD>(Pq l <0B><>;O! <0B>U<><00><><01><><00><><02><>O! <0B><16><00><><01><><00><><02><><01><>Z<><5A> <0B>$<24><00>,՘<02><>+
i<EFBFBD><<0E> <0C><><18><><0E>۸!<21><0E><07> <00><>!<21><04>3<><18>X<0E>,i<>
!<21>[h<0E>$<24>M!<21><0E>K<><00><>e<><04>3<>e<><18><><0E>-g0<"<22><0E><00><><04><01><>3<><16><0E>H<>3<><00><>
<EFBFBD>r<><0E>B)!<21>ə
<EFBFBD><18>y<0E>+w<><0E>%i<> (<28>i<><1B><> Q
<EFBFBD><1B><> X՚+i<><14><> [
՚b<> \
՚7 ]
՚<13><> _k\"<22>L<>R<>"<22><13><> c΢"<22>j<>u<>"<22>-<2D><13><> h<02>W"<22><00><><00><>"<22>3<>E<>u n<07><00><><00><>"<22>9<><00><01><><00>,ɚ"<22>+ <0B><> V Y <0B><> T<15>
<EFBFBD><EFBFBD>E! <09>0<>?<3F>
<EFBFBD><10>E<>E! <09><07><>-<2D>(<28>.<2E>P<> <0B>X <09>i<>
.<2E>|s <09>Ju.<2E>W<>]<5D>P<><13> <09>UE<>u<>{<7B>E<><13> <09><07> E<><00><><00><>E<>V<><13> <09><07><>E<><00><><00><>E<><01>M<11> <07>:E<>ڛ<00><>E<><01>MV<><11> <07>0E<><03><0E>E<>3<><11>
<07>2E<>'<27>2<>E<>\<5C><11> <07><>E<>K<>[<5B>E<>\<5C>V<><11> <1C><00>,t<><>E<>+ <0C> "<14><><1E> %<07><>՚<00><><00><>E<><01>M,<1F> ,<07>Ɯ֜E<>՚<01>M 5i 5<07><><03><><00><>E<><01>M_Tp+ (<28>i<>
<EFBFBD><EFBFBD>"<22><>"<22>j"t8?<3F> S <0B><> S <0B><> S <0B><> S <0B><> S <1F> S <01> S N<>;<1D>x <09>h<>ƻ<01><><00><>ƻ5x <09><07><>ƻ<01><><00><>ƻ̻<1D>X x<1A><>
<EFBFBD><EFBFBD>5x <09><07><>ƻ۝<00><>ƻ<01><>̻[h v<1A>Mx <09><07>Xƻ<13>(<28>ƻ<01><>һ̻<1D>y l<17><>
(<28>x <09><07><>ƻU<>`<60>ƻݹx <09><07>sƻz<><00><>ƻػx <09><07>,ƻ<01><><00><>ƻݹ̻x <09>ߣƻɞٞƻػ̻x K<>ƻ<01><><03>ƻ<1E>̻x 5;><00>,<1D>(<28>ƻ+C+<2B><05>i<13>A<>L<>ƻݹC T+<13>f<>q<>ƻػC i<07><><13><01><><00><>ƻ<1E> nA |`<01><><00><>ƻ<01><>һ nA <09><07>ҟݟƻ<1E><1D><> q=<3D>Q<> <09> <0C>ݟ<05> <0B>ƻ<1D><> s<07>Q<> <09><> <0B>3<>9<>޻end <09>׬ݟS<>Y<>ƻend <09>}  <0B>s<>y<>޻{<7B> u0#<23><03><> <09>RNy<><01><><00><>ƻu<> t5(<28><03><> <09><07><00><>Ϡՠ޻W[ <09>Z<>y<><01><><00><>ƻW[ <09><07>c<00><><0F><15>޻P<> R <0B>/<2F>5<>޻<03>7 x& <0B>O<>U<>޻<03><> <07><00><>o<>u<>޻V[ <07><00><><01><><00><>޻d %<07><><00><><01><><00><>޻<03> *J<><00><>ϡա޻ <0A><> 8<07>"<01><><00><>ƻ<01><> <0A><> L<07> <0C><1C>ƻ<01><>һ <0A>O l<07>V2<>8<>ƻ<03> udG<00><>R<>X<>޻m] ~c<><00>.r<>x<>޻&<26><>+B <01><><00><>ƻ<01><><16> o2D
W <09> <20><00><><01><>ˢƻ<01><> <0B> p7P
W <09><07>qˢ<01><><00><>޻<01><> <0A># <09>e7<14><1F>޻<01><>at <09>6<00><>8<>C<>ƻ<01><>at <09><07>ˢ\<5C>g<>޻<01><>W<> <09><07>U<00><><01><><00><>ƻW<> <09>-<2D>ˢ<01><><00><>޻@B v%<00><><01><>ǣƻ@B <07><>ˢ<01><><00><>޻Ed <07><>ź<01><07>ƻEd #<07>c<00><>!<21>'<27>޻ ;B 2@D=<3D>H<>ƻһ ;B BM^<5E>i<>ƻ<01><> <0A> Xu<><><00><>ƻ|+v<05>Pݟ<01><><00><>ƻ <0B>һ| <09><07> ݟȤؤƻ <0B><01><>| <09>W<>ݟ<01><><02>ƻ <0B><1E>| <09><07>ݟ<1C>1<>ƻ <0B><01><>һgG %d<>ݟK<>V<>ƻ <0B>gG @<07>+ݟp<><00><>ƻ <0B> <0B> <0A>\ WR:<01><><00><>ƻ<13> <0A><> iV<01><><00><>ƻ <0A> <09>\ӥ<00><>ƻ<01><>һ N{ <09>= <02><><04>ƻ<01><>&<26>m+<2B>3<><19>)<29>ƻ<01>Mһ t+<2B><05><>?<3F>T<>ƻݟ<01><>һ v+D<05><>j<>u<>ƻ<01><><03>O+~_><00>.<02><><00><>ƻv<>+Gȓݟ<02><><00><>ƻ <0B><01><><03><> b<05>ݟ٦<00><>ƻ <0B><01><><03>w h&%<00><><03><13>޻<01><><01>/ k<> v?)<29>4<>ƻ4<><1D><> m)<29><>dG+<2B><05>eݟ[<5B>f<>ƻݟdG+<2B><05><>ݟ<><00><>ƻݟݟ, . <09>c
<00><><00><>ƻػ<01>S, . <09>ƃɧ٧ƻػ(_Tp<00><>:(<28><00><>
<1E>8<><38>)L <1B> )L 2<> )L W<> )L <0B><> )L F<> )L '<27>;<3B><><1D>X)b<1A><>
3<EFBFBD>|s)e<07><>3<>`<60>f<>:<3A><00>x)p^<5E>@<40><01><><00><>@<40>5x)v<07><>@<40><01><><00><>@<40>F<>5x){L@<40>Ǩר@<40>רF<>[h)X<1A>Mx)E<>@<40><01><><14>@<40>ר<01><>F<>x)<29>A<>@<40>.<2E>9<>@<40><01><><00>x)<29>o0@<40>U<>`<60>@<40>L<>x)<29><07>2@<40>z<><00><>@<40>L<>F<>x)<29><07><>@<40><01><><00><>@<40><01><>F<>x)<29><07>>@<40>Ωީ@<40>چF<>x)<29><07>`<00>,<01><><03>@<40>+C)<29>iCO<><1D>(<28>@<40><01><>C)<29>԰O<>B<>M<>@<40>L<>C)<07>/O<>g<>r<>@<40>چ nA) <07><><01><><00><>@<40>ר<01><> nA)":X<01><><00><>@<40>چ<1D><>)^ <20><>Q<>)'&<26><00><><01><><00><>@<40><1D><>)_%<25><>Q<>)+<07>v<00><><0F><15>:<3A>end)/<07>L<00><>/<2F>5<>@<40>end)3<07>(<00><>O<>U<>:<3A>{<7B>)a0P<30><03><>)7<07><>U<>}<7D><00><>@<40>u<>)`5.<2E><03><>);ֺ<00><><01><><00><>:<3A>W[)?h;U<>˫ѫ@<40>W[)C<1A><00><><01><><00><>:<3A>P<>)H<07><><00><> <0B><11>:<3A><03>7)L<07> <00><>+<2B>1<>:<3A><03><>)PY<><00><>K<>Q<>:<3A>V[)T<07><00><>k<>q<>:<3A>d)Y<07>ר<01><><00><>:<3A><03>)]<07><>ר<01><><00><>:<3A><03>)i<07>רˬѬ:<3A>m])nt<00>.<01><><00><>:<3A><16>)Z!<21>
W)r<07><><00><><19>$<24>@<40>ר <0B>)[<18>.
W)y<07>l$<24>L<>W<>:<3A>ר <0A>#)<29>h<>m<>x<>:<3A>רat)<29>&<26><00><><01><><00><>@<40>רat)<29><07>7$<24><01><><00><>:<3A>ר <0A><>)<29>ew֭<00><>@<40>רW<>)<29><07>l<00><><01><><01>@<40>W<>)<29>S6$<24><1B>!<21>:<3A>@B)<29><07><><00><>;<3B>A<>@<40>@B)<29><07>k$<24>[<5B>a<>:<3A> Ed)<29><07>@w<>}<7D>@<40> ;B)<29><07><><01><><00><>@<40><01>. <0A>\)<29><07><><01><><00><>@<40>O<><00><01>\)<29><07>>ݮ<01><><01><>|)<29><19><00><><01><><07>@<40><01><><01><>|)<29>˜<00><>!<21>6<>@<40><01><>ר<01><>|)H<00><>P<>`<60>@<40><01><>چ <0A>) (}v<>|<7C>@<40>gG)LR<00><><01><><00><>@<40><01><>gG)8\<00><><01><>˯@<40><01><><01><> <0A><>)!Q&<01><><00><>@<40>ר<01>. <0A>O)+<07>\<07> <0A>@<40> Q<>)0<07> #<23>)<29>@<40> <0A><>)8p`?<3F>E<>@<40><18>)S8<00><>_<>t<>@<40><01><><01><><01><> <0A><>)\<07><><02><><00><>@<40>ר a<>)n<07>c<02><><00><>@<40><01>. <0A>T+<2B><05><>̰װ@<40>ר<03>O+{<05><><00>.<02><><00><>@<40> <0A>m)<29>:i <0A><1D>@<40><01>M<01>. t+g<>3<>H<>@<40><01><>ר<01>. &+I<05><>^<5E>n<>@<40><01><><01>.<03>w) <1A>ר<02><><00><>:<3A>ר<01>/ k<>)<07><><02><><00><>@<40><01><>dG+ew3<00><>ӱޱ@<40><01><>dG+p3<><00><><02><><08>@<40><01><><01><>_Tp<00>.:(<28><00><>
<EFBFBD><EFBFBD>8<01> S <0B><> S <0B><> S <0B><> S <0B><> S E<> S '<27> S t<>;C<>x <09>&<26>н<01><><00><>н5x <09><08>н<01><><00><>нֽ<1D>X x<1A><>
<EFBFBD><EFBFBD>5x <09><07><>нݲ<00><>н<01><>ֽ[h v<1A>Mx <09>2<>н<15>*<2A>н<01><>ֽܽ<1D>y l<05>
*<2A>x <09><07><>нW<>b<>н<01><>x <09>i
н|<7C><00><>н<01><>x <09><07><>н<01><><00><>н<01><>ֽx <09><07>н˳۳н<01><>ֽx uBн<01><><05>нD<>ֽx 5ז<00>,<1F>*<2A>н+C+<2B><05><1F>C<>N<>н<01><>C T<07><1F>h<>s<>н<01><>C i`:<1F><01><><00><>нD<> nA |'+<01><><00><>н<01><>ܽ nA <09><07><>ԴߴнD<><1D><> q=h'Q<> <09><07><>ߴ<07> <0A>н<1D><> sm'Q<> <09><07>a <0A>5<>;<3B><02><>end <09><07>XߴU<>[<5B>нend <09><0E> <0A>u<>{<7B><02><>{<7B> u0I<30><03><> <09>;{<7B><01><><00><>нu<> t5N<35><03><> <09><07><><00><>ѵ׵<02><>W[ <09><07>0{<7B><01><><00><>нW[ <09>(<28><00><><11><17><02><>P<> C<> <0A>1<>7<><02><><03>7 #w <0A>Q<>W<><02><><03><> <07><><00><>q<>w<><02><>V[ X<><00><><01><><00><><02><>d %
?<00><><01><><00><><02><><03> *<07><><00><>Ѷ׶<02><> <0A><> 8<07><><01><><00><>н<01><> <0A><> L<07><><0E><1E>н<01><>ܽ <0A>O llE4<>:<3A>н<03> u<07><><00><>T<>Z<><02><>m] ~<07>@<00>.t<>z<><02><>&<26><>+B<05><><01><><00><>н<01><><16> o2#'
W <09><07>"<00><>·ͷн<01><> <0B> p7/'
W <09><07><>ͷ<01><><00><02><><01><> <0A># <09> [<16>!<21><02><><01><>at <09><07><><00><>:<3A>E<>н<01><>at <09>._ͷ^<5E>i<><02><><01><>W<> <09>%1<00><><01><><00><>нW<> <09><07>'ͷ<01><><00><><02><>@B <08><00><>øɸн@B 2jͷ<01><><00><><02><>Ed <07>$^<5E><03> <09>нEd #>j<>#<23>)<29><02><> ;B 2<1F>?<3F>J<>нܽ ;B B<07><>`<60>k<>н<01><> <0A> X:<01><><00><>н|+v<0F>ߴ<01><><00><>н <0A>ܽ| <09><07>qߴʹڹн <0A><01><>| <09><07> ߴ<01><><04>н <0A>D<>| <09><07><>ߴ<1E>3<>н <0A><01><>ܽgG %<07><>ߴM<>X<>н <0A>gG @<07><>ߴr<><00><>н <0A> <0A> <0A>\ W<07>'<01><><00><>н<1F> <0A><> iS-<01><><00><>н <0A> <09>"<22>պ<00><>н<01><>ܽ N{ <09> <0B><02><><06>н<01><>&<26>m+<2B><1B>+<2B>н<01>Mܽ t+<2B>P<>A<>V<>нߴ<01><>ܽ v+D<05>Yl<>w<>н<01><><03>O+~<05>2<00>.<02><><00><>нv<>+G<05><>ߴ<02><><00><>н <0A><01><><03><> b<07>ߴۻ<00><>н <0A><01><><03>w hcs<00><><05><15><02><><01><><01>/ k<> v:9+<2B>6<>н6<><1D><> m)
<EFBFBD>dG+<2B>d<>ߴ]<5D>h<>нߴdG+<2B><05>6ߴ<02><><00><>нߴߴ, . <09>j<><00><><00><>н<01><><01>S, . <09><07>4˼ۼн<01><>(_Tp<05>:(<28><00><>
<20>8iK S <0B><> S 0<> S T<> S "<22> S <0B><> S <0B><> S <0B><>;<3B><>x <09><05>\<5C>X<>^<5E>\<5C>5x <09>D"\<5C>x<><00><>\<5C>b<><1D>X x-<2D>
<EFBFBD><EFBFBD>5x <09>r|\<5C><01><><00><>\<5C><01><>b<>[h v<1A>Mx <09>d<>\<5C><01><><00><>\<5C><01><>h<>b<><1D>y l3<>
<EFBFBD><EFBFBD>x <09><07>#\<5C>*<2A>5<>\<5C><07>x <09>_<\<5C>O<>Z<>\<5C>n<>x <09><07>N\<5C>t<><00><>\<5C><07>b<>x <09><07>W\<5C><01><><00><>\<5C>n<>b<>x C,\<5C>Ⱦؾ\<5C><01><>b<>x 5w`<00>,<01><><00><>\<5C>+C+<2B><0E><19><16>!<21>\<5C><07>C T'5<19>;<3B>F<>\<5C>n<>C iR9<19>`<60>k<>\<5C><01><> nA |<08><01><><00><>\<5C><01><>h<> nA <09> Q<01><><00><>\<5C><01><><1D><> q=& Q<> <09>\%<00><>ڿ<00><>\<5C><1D><> s+ Q<> <09><07><><00><><08><0E>t<>end <09>Tg<00><>(<28>.<2E>\<5C>end <09>f0<00><>H<>N<>t<>{<7B> u0<><30><03><> <09>.N<>v<>|<7C>\<5C>u<> t5<><35><03><> <09>BJ|<7C><01><><00><>t<>W[ <09>uN<><01><><00><>\<5C>W[ <09><1F>|<7C><01><><00><>t<>P<> (h<00><><04>
<EFBFBD>t<><03>7 X<00><>$<24>*<2A>t<><03><> a<>|<7C>D<>J<>t<>V[ $|<7C>d<>j<>t<>d %<07><><00><><01><><00><>t<><03> *<07><><00><><01><><00><>t<> <0A><> 8<07><><01><><00><>\<5C><01><> <0A><> L
<EFBFBD><01><><00><>\<5C><01><>h<> <0A>O l<07><><07> <0A>\<5C><03> u<07>(<00><>'<27>-<2D>t<>m] ~,<2C><00>.G<>M<>t<>&<26><>+Bb<>m<>\<5C><01><><16> o2<>
W <09>g<>m<><01><><00><>\<5C><01><> <0B> p7<>
W <09>D<><00><><01><><00><>t<><01><> <0A># <09><07><><02><><00><>t<><01><>at <09>wDm<> <0A><18>\<5C><01><>at <09>i<><00><>1<><<3C>t<><01><>W<> <09><07><>m<>V<>\<5C>\<5C>W<> <09><0F><00><>v<>|<7C>t<>@B  <0C>m<><01><><00><>\<5C>@B <07>)<00><><01><><00><>t<>Ed <07>j<12><01><><00><>\<5C>Ed #<07><><18><01><><00><>t<> ;B 2<07><><12><1D>\<5C>h<> ;B B<07><>3<>><3E>\<5C>z<> <0A> X)ZT<>Z<>\<5C>|+vy <00><>s<><00><>\<5C><01><>h<>| <09>:<3A><00><><01><><00><>\<5C><01><>z<>| <09>j!<00><><01><><00><>\<5C><01><><01><>| <09><07>f<00><><01><><06>\<5C><01><><01><>h<>gG %<07>O<00><> <20>+<2B>\<5C><01><>gG @R<><00><>E<>U<>\<5C><01><><01><> <0A>\ Wsek<>v<>\<5C><19> <0A><> i̹<01><><00><>\<5C> <0A> <09><07><><02><><00><>\<5C><01><>h<> N{ <09><07>
<02><><00><>\<5C><01><>&<26>m+<2B>><3E><02><><00><>\<5C><01>Mh<> t+<2B><05><><14>)<29>\<5C><01><><01><>h<> v+D<05><>?<3F>J<>\<5C><01><><03>O+~<05><00>.d<>j<>\<5C>v<>+GJi<00><><02><><00><>\<5C><01><>z<><03><> bA<><00><><02><><00><>\<5C><01><>z<><03>w h<07><><00><><02><><00><>t<><01><><01>/ k<> v<07><><02><> <09>\<5C> <09><1D><> m)x<>dG+<2B><05><><00><>0<>;<3B>\<5C><01><>dG+<2B>A<><00><>T<>d<>\<5C><01><><01><>, . <09>d/y<><00><>\<5C>n<><01>S, . <09><1A><00><><00><>\<5C>n<>(_Tp3<>:(<28>-<2D>
<EFBFBD><EFBFBD>8jV S <0B><> S V<> S z<> S H<> S <0B><> S <0B><> S <08>;<3B><>x <09> r~<7E>+<2B>1<>~<7E>5x <09>͊~<7E>K<>V<>~<7E><01><><1D>X xS<>
V<EFBFBD>5x <09>?<3F>~<7E><01><><00><>~<7E><01><><01><>[h v<1A>Mx <09>\~<7E><01><><00><>~<7E><01><><01><><01><><1D>y l<17>r
<EFBFBD><EFBFBD>x <09><07><>~<7E><01><><08>~<7E><01><>x <09><07><>~<7E>"<22>-<2D>~<7E><01><>x <09><07>|~<7E>G<>W<>~<7E><01><><01><>x <09><07><>~<7E>q<><00><>~<7E><01><><01><>x ##~<7E><01><><00><>~<7E><01><><01><>x 5<07>g<00>,<01><><00><>~<7E>+C+<2B><05>@<00><><01><><00><>~<7E><01><>C Tq<00><><0E><19>~<7E><01><>C i<05><00><>3<>><3E>~<7E><01><> nA |+qT<>d<>~<7E><01><><01><> nA <09>hUz<><00><>~<7E><01><><1D><> q=*Q<> <09><07><><00><><01><><00><>~<7E><1D><> s
*Q<> <09>ʾ<00><><01><><00><><02><>end <09>l<00><><01><><01>~<7E>end <09><07>O<00><><1B>!<21><02><>{<7B> u0<><30><03><> <09>^!<21>I<>O<>~<7E>u<> t5<><35><03><> <09> <0A>O<>w<>}<7D><02><>W[ <09>D<>!<21><01><><00><>~<7E>W[ <09><07><>O<><01><><00><><02><>P<> <07><><00><><01><><00><><02><><03>7 <07>6<00><><01><><00><><02><><03><> <07>QO<><17><1D><02><>V[ |<7C>O<>7<>=<3D><02><>d %o<><00><>W<>]<5D><02><><03> *-<2D><00><>w<>}<7D><02><> <0A><> 8<07>
<01><><00><>~<7E><01><> <0A><> L4!<01><><00><>~<7E><01><><01><> <0A>O lF?<01><><00><>~<7E><03> u[<5B><00><><01><><00><02><>m] ~<07><><00>.<1A> <20><02><>&<26><>+B~m5<>@<40>~<7E><01><><16> o2<>)
W <09>^<5E>@<40>h<>s<>~<7E><01><> <0B> p7<>)
W <09><07>s<><01><><00><><02><><01><> <0A># <09><07>&<02><><00><><02><><01><>at <09><07><>@<40><01><><00><>~<7E><01><>at <09><07>ps<><04><0F><02><><01><>W<> <09>2h@<40>)<29>/<2F>~<7E>W<> <09><07><>s<>I<>O<><02><>@B <07>~@<40>i<>o<>~<7E>@B uAs<><01><><00><><02><>Ed <07>*<00><><01><><00><>~<7E>Ed #V<><00><><01><><00><><02><> ;B 2V<><01><><00><>~<7E><01><> ;B B;A<06><11>~<7E><01><> <0A> X<07><>'<27>-<2D>~<7E>|+v6<00><>F<>V<>~<7E><01><><01><>| <09>e<><00><>p<><00><>~<7E><01><><01><>| <09>!<00><><01><><00><>~<7E><01><><01><>| <09>ӭ<00><><01><><00><>~<7E><01><><01><><01><>gG %<07><><00><><01><><00><>~<7E><01><>gG @<07><><00><><18>(<28>~<7E><01><><01><> <0A>\ W<07><>><3E>I<>~<7E><01><> <0A><> i`X_<>e<>~<7E> <0A> <09><07>C{<7B><00><>~<7E><01><><01><> N{ <09>!W<02><><00><>~<7E><01><>&<26>m+<2B><02><><00><>~<7E><01>M<01><> t+<2B>T1<02><><00><>~<7E><01><><01><><01><> v+D}<7D><12><1D>~<7E><01><><03>O+~<05>u<00>.7<>=<3D>~<7E>v<>+G<05>d<00><>W<>g<>~<7E><01><><01><><03><> b<07>@<00><><02><><00><>~<7E><01><><01><><03>w hK<><00><><02><><00><><02><><01><><01>/ k<> vI<><02><><00><>~<7E><01><><1D><> m)<29><>dG+<2B><05>/<00><><03><0E>~<7E><01><>dG+<2B><05><><00><>'<27>7<>~<7E><01><><01><>, . <09><07><>L<>\<5C>~<7E><01><><01>S, . <09><07>bq<><00><>~<7E><01><>(_Tp<00>r:(<28>S<>
<EFBFBD><EFBFBD>(<28><> l <11>;<3B>O! <0B>=<3D>f<><01><><00><>f<>O! <0B><07><>f<><01><><00><>f<>l<>Z<><5A> <0B><07>p<00>,<05>f<>+
<EFBFBD><EFBFBD><19><><0E> <1D><18><><0E>ź!<21><0E><07><>$<24>Q<>r<>c<><18>X<0E>,<2C><>
Q<EFBFBD>[h<0E>$<24>M!<21><0E>O<>$<24><00><>r<>c<><01><><18><><0E>-g0<"<22><0E>N+<00><>r<>$<24>c<><16><0E>'sc<><00><>x<>r<><0E>6RQ<><00><>x<><18>y<0E><1D><>w<><0E>%<25><> (<28><00><>^<5E> Q <19><1B><> X<0E><>+<2B><><14><> [
<EFBFBD><EFBFBD>b<> \
<EFBFBD><EFBFBD>7 ]
<EFBFBD><EFBFBD><13><> _Cl<00><>|<7C><00><><02><><13><> c<02><><00><><00><><00><><02><><01><><13><> h~<7E><00><><00><><00><><02><><01><>p<>u n<07>><00><><02><><01><> <0B><> V 8 <0B><> Ti
<EFBFBD><EFBFBD>E! <09>wt<00><><19><1F><02><>E! <09>{<7B><00><>7<>=<3D><02><> <0B>X <09><16><>
=<3D>|s <09>kN=<3D>f<>l<><02><><13> <09><07><><00><><00><><00><><02><><13> <09>ڢ<00><><00><><00><><02><><01><><13> <09>`<60><00><><00><><00><><02><><01>M<11> Qk<00><><00><><00><><02><><01>M<01><><11> <07><><00><><12><1D><02><><01><><11>
<00><>6<>A<><02><><01><><11> <07><><00><>Z<>j<><02><><01><><01><><11> n<><00>,<00><><00><><02><>+ <0C> "*<2A><1E> %E<><00><><00><><00><><02><><01>M,<1F> ,<07>0<00><><00><><02><><01><><01>M 5i 5T<03><><06><02><><01>M_Tp<00><> (<28><00><>
<1D>"<22>>"Ju"%<25>(<28> l <0B><>;<3B>O! <0B>s<><00><>Z<>`<60><02><>O! <0B><07><><00><>y<><00><><02><><02>Z<><5A> <0B><07>S<00>,<01><><02><>+
-<2D><19>f<0E> <0C><><18><><0E><12>!<21><0E><07> <00><><00><><08><01><><18>X<0E>,-<2D>
<EFBFBD><EFBFBD>[h<0E>$<24>M!<21><0E>߻<00><>)<29><08><01><>)<29><18><><0E>-g0<"<22><0E><07>9W<><08><01><><01><><16><0E><07><><00><>r<><0E>r<><0E><07><><00><><00><><0E><18>y<0E>3<>w<><0E>%-<2D> (<28>-<2D>5 Q <0C><><1B><> Xx<>+-<2D><14><> [
x<EFBFBD>b<> \
x<EFBFBD>7 ]
x<EFBFBD><13><> _e<>&<26><10><16>&<26><13><> cS<>&<26>.<2E>9<>&<26>,<2C><13><> hf&<26>Q<>\<5C>&<26>2<>p<>u n<07><>l<>&<26>8<> <0B><> V <09> <0B><> T 
<EFBFBD><EFBFBD>E! <09><07>F><3E><00><><00><>D<>E! <09><07><>,<2C><00><><00><>J<> <0B>X <09>-<2D>
<EFBFBD><EFBFBD>|s <09><07><><00><><00><><00>J<><13> <09>D<><18><1E>D<><13> <09><07><>D<>6<>A<>D<>P<><13> <09><07>D<>Y<>d<>D<><01>M<11> <07>D<>}<7D><00><>D<><01>MP<><11> <07>)D<><00><><00><>D<>2<><11>
*,D<><00><><00><>D<>V<><11> <07>}D<><00><><00><>D<>V<>P<><11> c<><00>,<17>"<22>D<>+ <0C> "<14><><1E> %"<22>x<>I<>T<>D<><01>M,<1F> ,c<>i<>y<>D<>x<><01>M 5i 5<07><><03><><00><>D<><01>M_Tp3<> (<28>-<2D>
<EFBFBD><EFBFBD>"<22><>"\<5C>".(<28> l 9<>;0 O! <0B>tv<00><><01><><00><><02><>O! <0B><16><00><> <0A><18><02><><01><>Z<><5A> <0B>V<<00>,-<2D><02><>+
<EFBFBD><EFBFBD><19><><0E> 8<><18><><0E><1B><>!<21><0E><07>#L<>y<><01><><01><><18>X<0E>,<2C><>
y<EFBFBD>[h<0E>$<24>M!<21><0E><>L<><00><><01><><01><><01><><18><><0E>-g0<"<22><0E>_<><00><><01><>L<><01><><16><0E><05><00><><06><01><>r<><0E><07><>y<>!<21><01><>w<><0E>%8<> (<28><00><>(<28>p l <0B><>;<3B>"O! <0B><07><>ڼe<>k<>ڼO! <0B><07><>ڼ<01><><00><>ڼ<01><>Z<><5A> <0B>;<3B><00>,<01><>ڼ+
8<EFBFBD>e<><0E> <0C><><18><><0E><1B><>!<21><0E>W&<00><><00><><01><><02><18>X<0E>,8<>
<EFBFBD><EFBFBD>[h<0E>$<24>M!<21><0E><07><00><>4<><01><><02>4<><18><><0E>-g0<"<22><0E><07><>b<><01><><01><><02><16><0E>@+<02>}<7D><01><>r<><0E>5=<00><><00><><01><> (<28>8<><19><>)<29> <0C><>h)<29>d<><1C><>)<29><11><>b<>)<29><11><>7)<29>d<>h)<29>s<><00><><01><07><02><>h)<29>Ma<00><> <20>+<2B><02><><01><>,<2C>0)<29><02><>@<40>K<><02><><01><><00><01>!)<29>ї]<5D><02><>Hn)<29>3<>$<19>A)<29><10>+8<>+<2B><><11>A)<29><04><><04><00><><00><><04><11>A)<29><04><><04><00><><00><><04>
<EFBFBD>P<>A)<29><02><><04><01><><00><><04><10><00>\)<29><02>^<10> <09><16>
q<EFBFBD><18><>)<29>"n"
<15>g )<29>C`<1C>@<40>F<>"<22>g )<29>ݩ
<EFBFBD>_<>e<>(<28><18>X)<29><16><>
e<EFBFBD>|s)<29><1C>e<><00><><00><>(<28>P<>I)<29>J<>"<22><01><><00><>"<22><11>I)@<40>"<22><00><><00><>"<22>.<2E>P<>I)3<>"<22><01><><00><>"<22>4<><11>I)
<07><><00>,<18>#<23>"<22>+' <0C>)q<><1E>)<07><>d<>L<>W<>"<22><01>M <1F>)<07><>m<>s<>"<22> <0A>0)#"<22><02><><00><>"<22>4<>?)(š<00>M<02><><01>M (<28><00><>
<EFBFBD><EFBFBD>(g l 7<>;<3B>$O! <0B><07><>p<><01><><00><>p<>O! <0B><07><>p<> <0B><16>p<>v<>Z<><5A> <0B>B<><00>,+<2B>p<>+
<EFBFBD><EFBFBD>ڱ<0E> C<><18><><0E>^<5E>!<21><0E><07><>J<>w<>|<7C><01><><18>X<0E>,<2C><>
w<EFBFBD>[h<0E>$<24>M!<21><0E><07>%J<><00><>|<7C><01><><01><><18><><0E>-g0<"<22><0E><07><><00><>|<7C>J<><01><><16><0E><07><00><><04><01><>r<><0E>ܜw<><1F><01><><18>y<0E><05>w<><0E>%<25><> (<28><00><><1B><> Q ?<3F><1B><> X
<EFBFBD>+<2B><><14><> [
<EFBFBD>b<> \
<EFBFBD>7 ]
<EFBFBD><13><> _<02>
<00><><00><><00><><02><><13><> cԈ<00><><00><><00><><02><><01><><13><> h<02><><00><><00><><00><><02><><01><>p<>u n\d<00><><02><><01><> <0B><> V ' <0B><> TH'
<16>E! <09><07><><00><>?<3F>E<><02><>E! <09>z<><00><>]<5D>c<><02><> <0B>X <09><16><>
c<EFBFBD>|s <09><07><>c<><00><><00><><02><><13> <09><19><00><><00><><00><><02><><13> <09>޲<00><><00><><00><><02><>Ľ<13> <09><07><><00><><00><><00><><02><><01>M<11> e<><00><><0F><1F><02><><01>MĽ<11> 5<><00><>8<>C<><02><><01><><11>
bz<00><>\<5C>g<><02><>ʽ<11> <07><><00><><00><><00><><02><>ʽĽ<11> <07><><00>,<00><><00><><02><>+ <0C> "P<><1E> %W
<EFBFBD><00><><00><><02><><01>M,<1F> ,<07><><00><> <0B><02><>
<EFBFBD><01>M 5i 5!<21>,<2C><02><><01>M_Tp<05> (<28><00><>
C<EFBFBD>"{"<22><>"q(D<> l <0B><>;r'O! <0B>+J<1E><01><><00><><1E>O! <0B>C<><1E><01><><00><><1E>$<24>Z<><5A> <0B><07><00>,<01><><1E>+
S<EFBFBD>^<5E><0E> <0C><><18><><0E><1B><>!<21><0E><07><><00><> <0B>*<2A><1D><18>X<0E>,S<>
<0B>[h<0E>$<24>M!<21><0E><07><><00><>O<>*<2A><1D>O<><18><><0E>-g0<"<22><0E>Ă}<7D>*<2A><01><><1D><16><0E><07>b<1D><00><>0<>r<><0E><07><> <0B><00><>0<><18>y<0E><1D>rw<><0E>%S<> (<28>S<>P Q <0C><><1B><> X<0E><>+S<><14><> [
<EFBFBD><EFBFBD>b<> \
<EFBFBD><EFBFBD>7 ]
<EFBFBD><EFBFBD><13><> _<02>bH<>6<><<3C>H<><13><> c<02>zH<>T<>_<>H<>N<><13><> h<02><>H<>w<><00><>H<>T<>p<>u n<07><00><>H<>Z<> <0B><> V <09>) <0B><> T<15>)
<EFBFBD><EFBFBD>E! <09><07><>`<60><00><><00><>f<>E! <09><07>HN<><00><><00><>l<> <0B>X <09>S<>
<EFBFBD><EFBFBD>|s <09><00><00><> <20>&<26>l<><13> <09>Ғf<>><3E>D<>f<><13> <09><07>Zf<>\<5C>g<>f<>r<><13> <09>B<>f<><><00><>f<><01>M<11> g~f<><00><><00><>f<><01>Mr<><11> E<>f<><00><><00><>f<>T<><11>
<07><>f<><00><><00><>f<>x<><11> Sf<><14>$<24>f<>x<>r<><11> <07>N<00>,=<3D>H<>f<>+ <0C> "<14><><1E> %<07>.<00><>o<>z<>f<><01>M,<1F> ,<07>)<00><><00><>f<><01><><01>M 5i 5T<03><><00><>f<><01>M_Tp<00>r (<28>S<>
<EFBFBD><EFBFBD>"A"1<>"N<>n<>?+,<2C>1<>3<>?3jT3<>G<04><01>2<00>~<00><><EFBFBD><EFBFBD><01><><00><><EFBFBD><EFBFBD>xa<><61><00><><00><01>y,[ <01><><03>y,_<07>{<00><>d<>j<><02><><03>y,`<07>A<00>,<01><><00><><02><>+<00><1A>,c<1B>Q<00><01><>,d<14>.?,<2C><1A><>-R ɿ-S <0B><>-T <0B>D-\ ۿ-e <0B><>-h <11>-i '<27>a<><00><><08>G/<2F><>l<07><14>"<22>-<2D><1A>%<25><04>
<14>F<>Q<><1A>-
 -:FLG<>m.?G<>{..<2E><05>l<>put.<2E>G<>~.ia<>y<00><>
<00>.:FNae<61><00><>
 -:FLaO<><1D>!<01> -<01><01><><<07>z<00><><06><><07><12><02><> -<03><>h<07><><00><>,<2C>7<><02><> -
 -<00><1A><00><><01>
<EFBFBD><EFBFBD><19>-/<2F> l<>_TpI<><19>K/<2F> <0C><>+T<>q&8/<2F><1D>._TpI<>a<>-<00><>
<00>.:FN/<2F> <0C><>_TpX<><19><>/<2F> <0C><>+<2B><>q&8/<2F><1D>._TpX<><19><>x <10>_Tp=<3D>*l<04> <<3C>+<2B><>q&8<04><1D>._Tp=<3D>5<>x T<>_TpC<> <04> <0C><>+<<3C>q&8<04><1D>._TpC<>Cdiv<1A>8<><00>/<00><><01>,<01>,0< 00= 00> <0B>J0@ <0B><>0A <0B><>0B <0B><>0C <0B><>0D <0B><>0E <11>0F -<2D>0G C<>I<>9 m<>>&8;-B+ <0B>y<-;+<13><>><11>k<11>5<>;<3B>c<>o<>C<03><11>S<>Y<>c<>_Tp;+=__v;+
<EFBFBD><EFBFBD>զ9 <0C><>>&8;-+, <0B>y<-&Py>o;<00><><00><><00><>s<>o<>C<1C><><00><><00><><00><>s<>_Tp&=__v&
r<EFBFBD><00><01><>= <15><00>_V2+<16><>:<3A>2 |<7C><05><>=<1D>.9<>7;<3B><>
%<25>now@^<5E>%<25>a<>D$0c<>.<2E><00><15>KL<>%<25>0<00><01>NY <05><>`<1D>.9<>^;<3B><>nowck<00><>V+<16><>|M.<0E><>P#vD <0C>j<00><><01><><00><><02><>P#vF'
<00><><07><12><02><><01><>P@(W?'<00>,,<2C>7<><02><>+PCX ?<3F><00><>Q<>\<5C><02><><01><><00>rep;-
\<5C><11>\II\<5C><00><><00><><02><>aBa<02><><00><><00><><00><><02><>kBe<10><00><><00><><00><><02><><11><>i?t<00><><00><><00><><02><><11><>pGs<00><><04><0F><02><>+N<>t<02><><00><>(<28>.<2E><02><>N<>{ޖ<00><>G<>R<><02><>+P<><02><><00><>k<>v<><02><><01><> <0B><05>i<><00><><00><><00><><02><><01><><11><><05><02><><00><><00><><00><><02><><01><><0E><05><02><><00><><00><><00><><02><><01><><0F><><05><02>q<00><>min<05>p <00><>max<05>{<7B><00><>A__r<05>\<5C>1<>T<0E><00><>O<>Z<> <13>- C<00><02><><13>M*<2A><00><>|<7C><00><> <13>-<02><><01><> &<26>- <0C><><0F>
<EFBFBD><EFBFBD>1<>h<0E><>9<>o <0C><>4<><00><><00><>4<>h9<68>r9<>4<><00><><00><>4<>:<3A>#vk<16><>
<EFBFBD><EFBFBD>RC<><00><><1B>!<21>@<40>P<><05>sTF<>:<3A>E<>4<>:<3A> <0B><05>foF<>^<5E>i<>4<>:<3A>min<05><02>E<00><>max<05>3<><00><>A__d<05> <0B><> Ĝ<08> <0C><<00><>
<EFBFBD><EFBFBD>_<>h<0E><>9<>o {E<><00><><00><>E<>h9<68>rD E<><00><><03>E<>K<>#vk<16><>
<03>R<02><03>.<2E>4<>Q<>P<><05> \<5C>M<>X<>E<>K<> <0B><05><02> \<5C>q<>|<7C>E<>K<>min<05>"<00><>max<05><02><00><>A__d<05> <03> Ĝ|<7C> <0C><<00><>
<EFBFBD><EFBFBD>1<>.j<>P#vD 6O<08><01><><00><><08>P#vF <0B><08> <0A><18><08><13>P@(WD<00>,2<>=<3D><08>+PCX 0r<19>W<>b<><08><13><00>rep;-
b<EFBFBD><11>\@fb<><00><><00><><1F>aBa0 <00><><00><><00><><1F>kBe <00><><00><><00><><1F><11><>i`O<19><00><><00><><08><11><>p.O<00><>
<EFBFBD><15><08>+N<>t(w<19>.<2E>4<><08>N<>{<02>v<00><>M<>X<><08>+P<><02><><19>q<>|<7C><08><13> <0B><05><02><><19><00><><00><><08><13><11><><05><02><><19><00><><00><><08>*<2A><0E><05>M<><19><00><><00><><08>*<2A><0F><><05><02>3<00><>min<05><02><><00><>max<05>lv<00><>A__r<05>b<>M<17><><08>L<>W<> <13>-<08><01><> &<26>- <0C><><00>
<EFBFBD><EFBFBD>V<05>){$<05><0E><>!<21><><05><04>z<00><><00><> &<26>- <0C><><00><13> '<00><>_CF<00>_CR-K<><00>.Kf<4B><00>.U<05>J<>!<21><05><04> <00><><1A> &<26>- <0C><><0F><01><> '<00><>_CFT_CR-K<><00>.Kf<4B><00>. v<05><`!<21><05><07>J<><00><> '<00><> &<26>- <0C><><0F><01><><16>I<07><00>.<00><> <0A>- C<0F> <13>- C<00><01><><13><16>/:
<00>.<13> <0A>- C<00> <13>- C<0F><13><01><><16>/<07><00>.W<> <0A>- C<0F> <13>- C<00><01><><13> v<05><<3C><>!<21><05><14>W<><00><> '<00><> &<26>- <0C><><00><13>= <05><07>
c<><00><> Ĝ|<7C> I<00><> O<00><><01><><01><><00>U<05>dc<> <0A>- C<0F> <13>- C<0F><01><><01><><1B><>9 <0C><>>&8;-x+ <0B>y<--'w><11><>/<2F>S<>Y<><02><>o<>Cy<>/<2F>q<>w<><02><>_Tp-=__v-
<15>.F9
<EFBFBD>>&8;-x+ <0B>y<--<<3C>>0<><00><><00><><00><><02><>o<>C<02><00><><00><><00><><02><>_Tp-<00>__v-ʚ;
<EFBFBD><EFBFBD>P71 V<>Qnum1!Y.zden1!Y.ʚ;K<><4B>-{$N-ʚ;<15> y<> <0B><><15><13><>_Tp<00><><19><>1 <0C><>znum1!Y.ʚ;Qden1!Y.{<7B><>-ʚ;K$N-<19><>1 <1F>[A.1!Y.<01>H.1#Y.ʚ;2num1-!Y.2den1.!Y._R1<0F>_R2y<><19>21 a<>Qnum1!Y.Qden1!Y.K<><4B>-<01>$N-R^1< <0C><>2num1D!Y.2den1E!Y._R1<0F>_R2<0F>?1 <0C><>[A.1!Y.[H.1#Y.2num1-!Y.2den1.!Y._R1<0F>_R2<1F><19><>1< 6<>2num1D!Y.2den1E!Y._R1<0F>_R2<1F><19><>1 <0C><>[A.1!Y.[H.1#Y.2num1-!Y.2den1.!Y._R1<1F>_R2<1F><19><>1< <0C><>2num1D!Y.2den1E!Y._R1<1F>_R2<1F>`v<15> <0C><><18><><15><13><>_Tp<00><>Ȯ1 N<>[A.1!Y.[H.1#Y.2num1-!Y.2den1.!Y._R1<1F>_R2y<>%f1< <0C><>2num1D!Y.2den1E!Y._R1<1F>_R2<0F>E<>1 <0C><><00>num1!Y.Qden1!Y.<01><01><>-<0E>$N-<19><>1 Qnum1!Y.<Qden1!Y.K<><4B>-<<3C>$N-H<>9 <0C>>&8;-x+ <0B>y<--<13>U><11><>-QW<02><>o<>CWp-ou<02><>_Tp-<00>__v-<00>
<19>-1 <0C>Qnum1!Y.<01>den1!Y.<00>K<><4B>-<01>$N-<00><1B>~9 O>&8;-x+ <0B>y<--<13><>><11><><00>><3E>o<>CQ<><00>17><3E>_Tp-<00>__v-@B
<EFBFBD><11>1 <0C>Qnum1!Y.zden1!Y.@BK<><4B>-{$N-@B A<>2<>!<21><><00>cin<<12><><00> ܅2<>!<21><>]<5D>=<12><00>]<15>><10><00>]<5D><>?<12><><00> @<40>2<>#<23><>]v<>Bq<><00> ؘ2<>#<23><>]}zCxz]<5D><>D<13><>]9<>E4<><00> J:<3A><13>3.
<EFBFBD><00><13>3.%<25><>g<>|g<>
Y<00>R(30/L(<00><03><01>i4`
<EFBFBD><00><01><>4j/<2F><><00>5V<14>*5Wb<>5X<14>*5Y<14>*5Z<14>*6- ֨9 g>&8;-+, <0B>y<-&<13><>>
- /5l<>o<>C<1C><> MSl<>_Tp&=__v&
<EFBFBD><1B><>9 <0C>>&8;-+, <0B>y<-&<13><>> r<00><00><00><02><>o<>Cޭ<00><00><00><02><>_Tp&=__v&
l<1B>9 ]>&8;-B+ <0B>y<-;+>W%+|<7C>o<>CmCI|<7C>_Tp;+=__v;+
<EFBFBD>,&9 <0C>>&8;-+, <0B>y<-&k<>>,|<00><00><02><>o<>C<1C>;|<00><00><02><>_Tp&=__v&d
b<1B>9 U>&8;-+, <0B>y<-&<13>><11><00>!<02><>o<>C<1C><00>9?<02><>_Tp&<00>__v&<00>
<EFBFBD>m9 <0C>>&8;-x+ <0B>y<--<13> ><11> t<00><00><02><>o<>C<1C> t<00><00><02><>_Tp-<00>__v-<00>
ZS<>9 M>&8;-x+ <0B>y<--X><11>T<00><02><>o<>C<1C><><00>39<02><>_Tp-=__v-d
<EFBFBD><16><15> w<18><><15><13><>_Tp<00><><1B><><18> <0C> u{<18>+<2B>S <0B><><18>+<2B>, <16><18>+<2B>O r2<00>,f<>x7) <19>r/<2F> <0C>_Tp<00><>$<24>/<2F> <0C>+<2B>q&8/<2F><1D>._Tp<00><>eb<18> 9 u{<18>+<2B>S <0B><><18>+<2B>/ <16><18>+<2B>O r2<00>/w<>1 <0C>[A.1!Y.<01>H.1#Y.<03>2num1-!Y.2den1.!Y._R1<00>_R2y<>%h1 <0C>znum1!Y.@BQden1!Y.{<7B><>-@BK$N-<19>/1< 2num1D!Y.2den1E!Y._R1<00>_R2<0F><19>e1 _<00>num1!Y.<00>Qden1!Y.<01><01><>-<00>K$N-<19>1 <0C>[A.1!Y.<01>H.1#Y.<03>2num1-!Y.2den1.!Y._R1<0F>_R2;1< <0C>2num1D!Y.2den1E!Y._R1<0F>_R2<00>[<5B><18> 4  u{<18>+<2B>S <0B><><18>+<2B>/ <16><18>+<2B><> r2<00>/!<21>'/t<><00><>W  <0C><><00><><01><>aK<61><00> z<><07><00><>y  <02><><1A>!L6 -<03><><07>A<> <01> <00> <02><> -&<26>"<07>n?<01> <00> <02><><01><>
 -:FL
W R<> <05>
 <0C><>۸۸۸w<>d<18>=<3D>:

 - FL=<3D>R<> <0A>Ll
 <0C><>۸_Tp+۸۸<10>K<>N<05>=<3D><00>

 - FL=<3D><16><>,<1F>=<3D><00>
 FL=<3D><01>/!<21>E,<2C>T<><00><><00>
<01><><01><><00><01>\<06><05>. 
 -<01>/Gk%<25>8LG<>=\a98<00><1C> +o<><6F>AVA( f=<3D>:# <1A> <0B>/<1A> <0B>2<1A> 3<1A> 3<1A> :3<1A> Z3<1A> u3Cdiv<1A>0<><00>/<00> --(?;7 <0C> *<2A><>;:%+*<2A><>;;%+*<2A>k;?<19>.*<2A><>;@%+ <0C>V+!<21> <0B>N ! O ! )O'<27>>   <0B><>@<1F>+
 -_8W <0C> RnA`Z<>E hOnO <0B>!Y9 -
E Ceqd<05><00>.t nOnOClth<07>8<00>.<00> nOnO!(<28><06><05>I+<00> tOtO<01>M!-
<06> <00>M<00> tO!<21><><06>tO<00> tO<01>MnO!<21>4<06>2%zO zOtO<01>M!W<><06><zO< zOtO<01>M!nA<06><05>gzO` zO<01>ME !<21>!~n7E z <01>O <0B><>Z9 
z !N<06><07><>z <00> nO!<21><><06><07><><00>.<00> <01>O<01>O<00>eof<06><07>Ez !.t<06>|<7C>z <00> <01>O
 - ,<0E>M -<0E>S : }7 O<07><><00>O/5<02>O7 QU_<00>ONY<02>O<01>O6 V<07><><00>,r}<02>O+<1A><> ?<1A>,h<> Y<07><>}<01><00><02>O<01><16> A<1A>O<1A>9 @<1A>/h<> ]<07><><00><01><00><02>O<01> <0B> B<1A>O!<21> c<07><>}"<02>O"g0[h =<1A>M&"<22> tI<>DT<02>O}"<07> <0C>M"ms<02>O_Tp -
<1B><><2
<EFBFBD><2
w|<2
8|<2
<EFBFBD>|<2
<EFBFBD>|+|!<21><><^<13><><00>S<00>PR<><52><aW|<00>QVQV#Zw<d(,<00>.#<><gfr<00>.#<23>p<j<1B> <00>.#<16><mta<00>.#<p0<><00>. <0B>y<:5}
: <0B><><;5+| <0B>9<<5 } [h<=5j| <16><@5WV <0B><A5]V<13><t<0E> <0B><><uA}_Tp - (<28><00>S8<><38>*<2A> <0B>'g*<2A><11>,<<3C>* @{<00><><01><00><02><>5<<3C>*<07><00><> <02><><01><><16>*2<>WB*5Y>D<01><1D><>* 2<><16>* W]Dlr<01><03><>*$<07>}<07><01><00><02><><03><>*+6<><00><01><00><02><>+N<>*0;<3B><07><01><00><02><>N<>*7<07><><00><01><00><02><>+
W*<?e!<01>!u{*8<>P<>*@Q<><07>IT<02><>!aB*D<07><><00>ny<01>! <0B>*H<07><><07><01><00><02><>!kB*L<07><><00><01><00><01>!<03><>*P<07><><00><><01><00><01> r2<00>, <0C>+N
<EFBFBD>8EB*<2A> ='g*<2A><11>/<<3C>* <1A>s<00><>28<02><>5<<3C>*l<00><>R]<02><><01><><16>*2#WB*<07>*]<01><00><02><><1D><>* 2<16>* 3<00><01><00><02><><03><>*$Rh<00><><01><00><02><><03><>*+<07>g<00><01><00><02><>+N<>*0l<><00><><02><>N<>*7<07><><00>8C<02><>+
W*<<07>6]]h<02><>hu{*8 P<>*@<07><00><><01><00><02><>haB*D<07><><00><01><00><02><>h <0B>*H<07><><00><><01><00><02><>hkB*L<07><><00><01>
<02><>h<03><>*P{C<00><>$*<02><> r2<00>/ <0C>+N
<EFBFBD>i<>;d <0C>*<2A><>;g%+*<2A>k;j<19>.*qg;k%+*<2A>;l%+ <0C>V<00>.!l;d <0C>*<2A><>;g%+*<2A>k;j<19>.*qg;k%+*<2A>;l%+ <0C>V<00>.<;d *<2A><>;g%+*<2A>k;j<19>.*qg;k%+*<2A>;l%+ <0C>V}+(Lq : <0B>7 O<12>ʸ=Cʸ7 Q7<>ʸ\gʸո6 VEA<00>,<01><00>ʸ+<1A><> ?۸h<> Y<07><><00><01><00><02><><01><16> A<1A><><1A>9 @<1A>/h<> ]<07><><00><01><00><02><><01> <0B> B<1A><>!<21> cb<><00> 0ʸ0g0[h =<1A>M&"<22> t<07>wRbʸ<01>0<07> <0C><07><>0{<00><02><>_Tp+
<1B>><2
<EFBFBD><2
@<40><2
<01><2
r<EFBFBD><2
<EFBFBD><EFBFBD>+<2B><>!<21><><^Gi<><00><01><>R<><52><aW<><00><10><10>#Zw<d<1B><><00>.#<><gKi<00>.#<23>p<j<08><00>.#<16><mOj<00>.#<p&<26><00>. <0B>y<:5ə
H <0B><><;5<><35> <16><@5<16> <0B><A5<1C>Q<><t<0E> <0B><><uA֙_Tp+ (<28>i<>"<02>8<><38>*<2A> <0B>'g*<2A><11>/<<3C>* [<5B>y<><01><00>y<>5<<3C>*<07><>y<>y<><><16>*2 WB*<07>9?<02><><1D><>* 2 <16>* <07> ?gm<02><><03><>*$<07><><00><><01><00>y<><03><>*+G<><00><01><00>y<>+N<>*0 <00><><01><00>y<>N<>*7r<00><01><00>y<>+
W*<<07> <02><>u{*8 P<>*@<07>-<00><>DOy<>aB*D}<7D><00>it<02><> <0B>*H<Q<00><><01><00>y<>kB*L<07><><00><01><00><02><><03><>*P<07><><><01><00><02><> r2<00>/ <0C>+<00><>
<EFBFBD>(<28><> : j7 O<07><>T<>"T<>7 Q<07>$T<>;FT<>Z<>6 V<07><><00>,_jT<>+<1A><> ?źh<> Y<07>j<01><00>`<60><01><16> A7<><1A>9 @<1A><>h<> ]?=<00><01><00>`<60><01> <0B> Bѹ!<21> c`j<01>T<>g0[h =<1A>M&"<22> t+#1AT<>j<07> <0C>F$Z``<60>_Tp<00><>
<EFBFBD>A<><2
<EFBFBD><2
p<EFBFBD><2
1<EFBFBD><2
<EFBFBD><EFBFBD><2
<EFBFBD><EFBFBD>+<16>!<21><><^T4<00><><00>l<>R<><52><an~<00>~<7E>~<7E>#Zw<d<1B><><00>.#<><g|M<00>.#<23>p<j<1B>}<00>.#<16><mސ<00>.#<p <00>. <0B>y<:5<><35>
' <0B><><;5$<24> <16><@5<><35> <0B><A5<41><35>%<25><t <0B><><uA<06>_Tp<00><> (<28><00><>"<22>4"d)(<28> : 7 OM<00><><01><00><02><>7 Q <20><00><><01><00><02><><01><>6 Vc<00>,<01><02><>+<1A><> ?<12>h<> Y_<>-8<02><>8<16> AU<><1A>9 @<18>h<> ]A<>Ekv<02><>v <0B> B<01>!<21> c<07>7<01><00><02><><01>g0[h =<1A>M&"<22> tV<><01><00><02><><01><07> <0C><07>g<00><01><00><02><>_Tp3<>
<EFBFBD><1B><><2
& <2
<04><2
<EFBFBD><EFBFBD><2
6<EFBFBD><2
W<EFBFBD>+<2B><>!<21><><^<13><>-<2D>Y<02>R<><52><a`*t<14><14>#Zw<d<1B>o<00>.#<><g<1B><><00>.#<23>p<jl<><00>.#<16><m{<7B><00>.#<p<1B>h<00>. <0B>y<:5<><35>
<EFBFBD> <0B><><;5<><35> <16><@5<1A> <0B><A5 <20><1B>d<t  <0B><><uA<75><41>_Tp3<> (<28>-<2D>"<22><>"H<>(<28> : <0B>!7 O<07>*<00><>V \ <02><>7 Qaz<00><>u <00> <02><><01><>6 V<07><><00>,<01> <00> <02><>+<1A><> ?<1A><>h<> YmG<00> <01> <00> <02><><01> <16> A.<2E><1A>9 @p<>h<> ]@V<00> !!<02><>! <0B> B<1A><>!<21> c<07>r<00> 9!I!<02><>I!g0[h =<1A>M&"<22> tjWk!{!<02><><01> I!<07> <0C><07><>I!<01>!<00>!<02><>_Tp<00>.
0 <1B> <2
<EFBFBD>"<2
<EFBFBD><EFBFBD><2
Y<EFBFBD><2
<EFBFBD><EFBFBD><2
<EFBFBD><EFBFBD>+><3E>!<21><><^ 8<00><><00>!<01><>R<><52><a<11>V"<01><><01><>#Zw<da<00>.#<><g><3E><00>.#<23>p<jA<><00>.#<16><mMA<00>.#<p<1B><><00>.ĉ<t<0E>" <0B><><uA!<21>_Tp<00>+ (<28><00><>(<28>p : $7 O<07><><00><><01>"<00>"<02><>7 Q<07>x<00><><01>"<00>"<02><><01><>6 V<07>N<00>,<01>"#<02><>+<1A><> ?<1A><>h<> YTu#(#3#¼3#<16> Aȼ<1A>9 @μh<> ]}@@#f#q#¼q# <0B> BԼ!<21> c<07>~#<01>#<00>#<02><><01>#g0[h =<1A>M&"<22> t<07>v<01>#<00>#<02><>#<01>#<07> <0C><00>#<01>#<00>#¼_Tp<00>+
<EFBFBD>"EW<2
<EFBFBD>$<2
<0F><2
<EFBFBD><EFBFBD><2
A<EFBFBD><2
b<EFBFBD>+<2B><>!<21><><^<13>8<>T$<01><>R<><52><a<11><>o$<01><><01><>#Zw<d<1B><><00>.#<><g<1B>n<00>.#<23>p<j <00>.#<16><m<1B>]<00>.#<p<1B>v<00>. <0B><><;5<><35> (<28>8<>(g : I&7 O<07><>R<><01>$%R<>7 Q<07>/R<>%%%R<>X<>6 VAt<00>,>%I%R<>+<1A><> ?^<5E>h<> Y<07>oI%o%z%d<>z%<16> A=<3D><1A>9 @j<>h<> ]a<00>%<01>%<00>%d<><01>% <0B> B<1A><>!<21> c<07>%I%<01>%<00>%R<><01>%g0[h =<1A>M&"<22> t<07>+& &R<>I%<01>%<07> <0C><07><00>%9&?&d<>_Tp<05>
<EFBFBD>$B<><2
h'<2
<EFBFBD><EFBFBD><2
W<EFBFBD><2
<EFBFBD><EFBFBD><2
<EFBFBD><EFBFBD>+<<3C>!<21><><^<13><><00><><00>&v<>R<><52><a<11><><00>&<01><><01><>#Zw<d_<00>.#<><gR<><00>.#<23>p<j<1B>@<00>.#<16><m<1B><00>.#<p<06><00>. <0B>y<:5<1F>
' <0B><><;5J<35> <16><@5<><35> <0B><A5<41><35><1B>(<t^' <0B><><uA,<2C>_Tp<05> (<28><00><>"<22>h"n(@<40> : <0B>(7 O]d<06><01>'<00>'<06>7 Qb"<06><01>'<00>'<06> <0C>6 V<07><><00>,<01>'<00>'<06>+<1A><> ?<1A><>h<> Yѱ<00>' ((<12>(<16> A<18><1A>9 @<1A><>h<> ]<07><>$(J(U(<12>U( <0B> Bܺ!<21> c<07><><00>'{(<00>(<06><01>(g0[h =<1A>M&"<22> tA<><01>(<00>(<06><01>'<01>(<07> <0C><07>c<00>(<01>(<00>(<12>_Tp<00>r
r'<1B>#<2
*<2
*<2A><2
<EFBFBD><EFBFBD><2
\<5C><2
}<7D>+<2B><>!<21><><^<05>S<>8)$<24>R<><52><aU<>S)6<>6<>#Zw<d<00>.#<><g<1B><><00>.#<23>p<j<1B><><00>.#<16><mO<><00>.#<p<1B><><00>. <0B>y<:5<><35>
<EFBFBD>) <0B><><;5<><35> <16><@5<<3C> <0B><A5B<35><1B><t<0E>) <0B><><uA<75><41>_Tp<00>r (<28>S<>"<22><>"<22>]";7 V**<2A><>;:<1B>+*<2A><>;;<1B>+*<2A>k;?<19>.*<2A><>;@%+ <0C>V<00>+<13>;7 <0C>**<2A><>;:-*<2A><>;;-*<2A>k;?<19>.*<2A><>;@%+ <0C>V -<1B>X;7 <0C>**<2A><>;:<1B>+*<2A><>;;<1B>+*<2A>k;?<19>.*<2A><>;@%+ <0C>V<00>+nF<6E>;+=1 +3<><33>3<><33>3O
<EFBFBD>*<00><01><>=5 +<00>int
+ <0B>6><3E>;+
*+1<07><>
;+<00>><3E><10>yx+<00><01> ><3E>O-<00>b ><3E>S}+
-1<04><00><01>y><3E>G+<08>R1~<7E>1<07><>1<07><>
<EFBFBD>+ T/?$<15>+1<06><> <0B>?%<17>+ <0B>?&<1A>+1<05>+
<EFBFBD>+ <0B>4?'<1C>+ <0B>c?(+
<EFBFBD>+ <0B>|?);+ <15>?.,- +<2B>?/.&
& C<>?3<12>+ R<>?4<13>+ ;0?5<13>+ <0B>H?6<14>+ b}?7<13>+ <1A>?8, <0B><>?9, <0B><>?:, ,i?A%- <0B><>?J%- <0B>[?K.& <0B>|?<3F><19>,1'<27> m<>?<3F><1B>,L+<00>,W;+
?<3F><1B>, +<2B>?<3F><1A>,<00> -
<EFBFBD>,1<08><>
- V/@<12>+ <0B>@<13>+ <0B>c@<13>+ <17>@, <0B>A<13>+ <0B>4A<14>+ <0B>|A, -<2D>A, E<>B+0, =0B,H, d}B-`, <0B><>B.x, T<>B1<, <0B>HB2T, <1C>B3l, <0B><>B4<1A>, XGB:<16>+ <1C>B@+ <0B><>BA+ JmBC- WGBG<18>+ <1B>BM;+ <0B><>BN;+ ImBP & ީB]+ ݩB`;+ <0B><>Be<15>,
M. <0B>[Bf<16>, <0B>#C,<15>+ <0B><>C/<1A>+
v.1 D1<06><>1<05>+1<07><>1:V1<04>
<EFBFBD>.1<02><>
<EFBFBD>.D<<3C>?<04><00>#DcDA<04>1Ч
<EFBFBD>.1n<>
<EFBFBD>.1<10><>
/<04>r<>Tzr<><00><1D>8 R/<00>:
|;Φ{/V< +<00>rem= + Ϧ>R/|C_<><00>/VD<0E>,<00>remE<0E>, `<60>F<05>/|M<03>$<00>/VN-<00>remO- <0B>$P<05>/%+
<EFBFBD>/-
<EFBFBD>/ "
D<13>, -<2D>E<12>,
0L -40W;+ K<>F1;+!<21>%M0S0s+g0g0g0m0<00>]P +<00>0<01>0<04>0<00><16><>U<12><>+<00>0<01>0$<24><>G<01>.<00>0<01>/<00>6<>i+<03>0Bfi<01>/;<3B>n<01>,<00>0<01>/$9<>H<01>,!1g0g0*+*+@0<00>divQ{/>1++<1E><>w<0E>,U1<01>/R<>S<0F>/q1<01>,<01>,ٸ<0F> +<00>1<01>/*+<1E>O<0F>*+<00>1<01>1<01>/*+<04>./<2F><0F> +<00>1<01>1<01>/*+i<>\; <0A>1<01>,*+*+@0<00><01><>l 2+<00><01>q<0F> +i<>q<0F> ,2;+$s;u<0F>.G2<01>/G2<04>,$&<26><0F><11>,m2<01>/G2+$<17><0F><1A>+<00>2<01>/G2+=  +<00>2<01>/<1E><><0F>*+<00>2<01>,<01>2*+<04>.{<7B><0F> +<00>2<01>,<01>.Q<>W<1E>/3--Q<>u-3<01>/$<24><><0F>-:3<01>/G2+<0F>&Z3<01>/G2+$<24><>{<0E>.u3<01>/G2$<1A>~}+<00>3<01>/G22 " ")2 2 S"g"<1C>D#lR#|`#En#<1E>|#<04><00>#Y<><00>#/<2F><00>#<04><><00>#<04>u<00>#HX<00>#<04><><00>#<04><><00>#<04><><00>#<04> $|<7C>$<04>J'$;V6$<04>9E$o<>T$UKc$<04><>r$Q<><00>$$+<00>$8<00>$y<><00>$<04><><00>$<04><>%+&%Q<>,%)<29>;%<04>cl%<04>U{%:z<00>%<04>|<00>%x<><00>%<04><><00>%<04>j<00>%l1<00>%<00>%<04>E7&/F&<04>RU&G<>d&<04><>s&<04><><00>&H<><00>&xH<00>&<04>.<00>&*q '<04><>'J
''<04><>6'*<2A>E'<04><>v'!@<00>'v<00>'<04>=<00>'(j<00>'<04><><00>'<04>G<00>'<04>@<00>'w <00>'΁A(<04>@P(<04><>_(l<>n(<04><>}(<04>X<00>(<04><><00>(<04><00>(<04><>)nf)<04>?")<00>1)<04>.@)]<5D>O)<04><><00>)<04>&<00>)<04><00>)<04><><00>)K<00>)<04>e<00>)y<><00>)<04>=<00>)qS<00>)<04><>K*<04>JZ*<04>i*h<>x*<04>_<00>*<04>a<00>*<00>*<04>`<00>*z$+<04><>+3<>,+;+<04>HJ+<04><>Y+<04>U<00>+<04><00>+<04>j<00>+6c<00>+<07><00>+<04>U<00>+<04><><00>+:U<00>+#<23>,<00>U,<04>[d,A<>s,<04>E<00>,<04><00>,r<><00>,7<><00>,}<7D> -<04>C-.H'-և6-<04>jE-<04>PT-<05>c-<04><><00>-W<><00>-<04><><00>-<04><><00>-<04>0<00>-`<00>-4<><00>-<1C><00>-]6 .*_.F<>n.<04>h}.<04><><00>.߸<00>.2<><00>.@<00>.<04><>/<04>O"/B<>1/<04>,@/c<>O/<04><>^/Jdm/+<2B><00>/<04>P<00>/<04><><00>/I<><00>/<04>$<00>/<04>O<00>/yy<00>/)0<04><>0<04><>i0<04>1x0><3E><00>0R;<00>0rf<00>0t<><00>0<><00>0<04><>1$<24>,1;1<04>TJ1<04><>Y1<04>>h1Wzw1<04><><00>1ʔ<00>1(<28><00>1y<><00>1<04><><00>1Q<><00>1a<>2 2<04>R 2<04><>s2q<00>2<04><00>2C/<00>2O<><00>2<04><><00>2<04>.<00>2,X'3663<04>`E3<04>!T3khc3<04>Xr3f<><00>3a<><00>3۾<00>3Z<><00>3<04>"<00>3/H<00>3<04><><00>3S^ 4u4%_*47<>}4sv<00>4<04><><00>4<04>f<00>4<04><><00>46<><00>4y&<00>4<04>;15<10>@53<>O5<04>^^5<04>Mm5<04>B|5y<><00>5<04>]<00>5<02><00>5<04>q<00>5<04><00>5<18><00>5<04><>6f=6Ĉ%6 T46<04><><00>6<04><><00>6<04>B<00>6Շ<00>6<04><><00>6<04><00>6,p<00>6G;7#<23>J7<04>\Y7!9h75w7U<00>7<04>1<00>7<04><><00>7<04><><00>73<><00>7<04>c<00>7D8<04><>8<04><> 8GC/8&<26>>8J<><00>8<04>M<00>8<04><00>8oZ<00>8<04><><00>8<04> <00>8Ig9n+E9<04>T9|<7C>c9<07>r95U<00>9<01><00>9&<26><00>9/\<00>9<04><00>9OL<00>9$M<00>9<04><> :<04><>:h_*:G`9:9<>H:<04>=<00>:\<00>:*R<00>:<04>{<00>:t<00>:z<00>:< ;<04>!O;V<>^;\<5C>m;}_|;yI<00>;.A<00>;<04><><00>;Sg<00>;8<><00>;<04><00>;<04>7<<04><><s<>%<K@4<<04>VC<<04><>R<9<><00><9]<00><:;<00><N<><00><<04>Z<00><~z<00><n<>=<04>HY=0<>h=#{w=<1B><00>=<04>5<00>=A<><00>=<00>='<27><00>=_<><00>=<04><>><04>7>t6 >N<>/><04>%>>9oM>_<>\>K0<00>><04>|<00>><04>_<00>>k<><00>>@<40><00>><04><><00>><04>&!?<04>`c?<01>r?<03><00>?<04><00>?<04><><00>?<04><00>?<04><00>?[F<00>?Q<><00>?P<> @C<>@<05>*@1<>9@<04><>H@<04><>W@<04><>f@<14><00>@g<><00>@<04><><00>@Q<><00>@'<27><00>@1<>A<04>+A<04><>mA%<25>|AAK<00>Aqm<00>Ai<00>A<04>L<00>Ai8<00>A<04><><00>A>|B<04><>BE %B<04>24B"CB<15>RB<04><>aB<04><>pB* <00>B<04><><00>B<04><00>BK<00>B<04><><00>B<04><>C<04><>5C<04>owC#<23><00>Cq<><00>C<04><00>Cz'<00>C<04><00>C<04>=<00>C<04>TD%*D1<>!D<04>e0D<08>?D<04><>ND<1F>]D{3lDp<>{D3<><00>D<04>Z<00>D<04><><00>D<04><00>DR<>
E<04>mEo<>@EA<><00>Ez!<00>E/<2F><00>E<04>f<00>E<04><00>E<04>U<00>E<04>G<00>Eho F<04>>F)<29>-F<04>b=F6<>MFf*\F<04><>kF<04><>zF,<00>FY<><00>Ff,<00>F2<00>Fv<> G<04><>G<04>'G<04><>NG4<><00>G<04><><00>G<04><><00>G<04><><00>G 3<00>G<04>1<00>G<04>#<00>G<04><>Hv'+H<04>$;H<04><>KH<04><[H!<21>jH<04>'yHiA<00>H@<40><00>H-k<00>H<04>K<00>H$wI<04><>Iܬ&IcV5I!<21><>IS<01><>g0;Cg0+*+!<21><>IM<01><><00>,_C<01>,+*+$<24>I<> +zC<01>/<01>/<1E>I<><0E>,<00>C+<1E><>IO<0E>,<00>C<01>,<01>/$kPI<>*+<00>C<01>,<01>/*+!<21>oI<><01>o<00>/<00>C<01>/+!<21>oI<><01>o<00>, D<01>,+p&I'p&<00>/+D<01>/<01>/p&I!p&<00>,KD<01>,<01>/!s<>I<>s<><00>/jD<01>/+!s<>I<>s<><00>,<00>D<01>,+/GIB/G<00>/<00>D<01>/<01>//GI</G<00>,<00>D<01>,<01>/ <0B>=J(<1B>D<00>r<>K<00>D<00>S<><00>, y<>L;+|M<01>EE<00>M*Ev/<2F>M;+v:<3A>M$0<14>M+$8ME <0B>M<03>D <0B>NEE
QE HwOnE^<5E><00>P1<08>F<14><>P3+<14>XP6 <09>,UEP7 <09>,<14><>P8 <09>, <14><>P9 <09>,<14>eP: <09>,<14>QP; <09>,H<>P< <09>,<14><P= <09>, <14><>P@ <09>,$<05>PA <09>,(<14>VPB <09>,,h<>PD<16>R0<14><>PF<14>R4<14>PH+8<14><>PI+<<14>iPJ <0B>,@@qPM<12>+DX<>PN<0F>+FJ6PO<13>RG<14>{PQ<0F>RH;,PY <0A>,P,P[SXQP\S\P]<14>R`o-P^ <09>,d<14><>P_
*+h<14>5P`+l<14><>PbJSp <0B>_QnE0<>R><01>DG+<1E>R<><0F>D/G/GbExR<><11>1VG<01>1+/GvR<><0F>DrG<01>./G<1E>R<> +<00>G<01>2/G<1E><>R= +<00>G/G+<1E>nRD +<00>G/G<01>2j<1E>ZRm +<00>G/G<01>2j<1E>R<><0F>D<00>G/G<00><16>R<><0F>D#RI*+*H<01>/*+*HQEO]R(*+VH<01>1<01>/*+*H<08>R$ +mHmH]E<1E>cRQ*+<00>H<01>1<01>H*+*H<04>/wR<><0F>D<00>H<01>./GaWR<><0F>D<00>H<01>.7jRN +<00>H<01>1*+<01>2j<1E> Rw +I<01>2<01>2j<1E>{R<0F>D-I<01>D/G<1E>nRV +NI/G<01>2<01>D<1E>ZR<> +oI/G<01>2<01>D6jRc +<00>I<01>1*+<01>2<01>D<1E> R<> +<00>I<01>2<01>2<01>Da<>R^ +<00>I<01>2<01>D*TR<> +<00>I<01>2<01>D<19>R-*+J<01>,<01>.*H$<24>\Ra<11>1*J<01>1<01>2$<24>wRj +EJ<01>2<01>2R<> +`J<01>2<01>2$<24>RW<11>1{J<01>1<01>2$<17>R<>*+<00>J<01>2<01>21iRC*+<00>J<01>1*+<01>2<01>J_K<00>tm,S_K>S +<14>$S
+*<2A>S +¾S + <14><>S +<14>4S+.;S+R<>S+<14><>S+ G<>S <0C>,$<14>0S<0F>/(
<EFBFBD>J$<24>XR<>*+zK<01>2$<24><>Re<11>1<00>K<01>1<01>2*+$<24>/Rm +<00>K<01>2<01>2*+$<24>7R\<11>1<00>K<01>1<01>2*+<1E><>RW*+L<01>,L*+*H<04>2$<24>FR<>*+!L<01>2<01>2<1E><>Ry<0F>.=L<01>2=L<04>1<1E><>R~<0E>._L<01>2=L$ 'R<><11>1L<01>1<01>2=L<1E><>R<><11>,<00>L<01>2=L+ DR<><1A>+<00>L<01>2=L+$(<28>R<>*+<00>L<01>1<01>2*+<1E><>RD+<00>L<01>D<1E><>R +M<01>2<01>2*+<1E><>R<11>1:M<01>1<01>2*+<1E><>R <11>1[M<01>1<01>2*+l<>R<11>1|M<01>1<01>.*+<1E>nRK +<00>M<01>2j<1E>ZRt +<00>M<01>2j!<21>lR<><1D>l<00>2<00>M<01>2<01>.!<21>lR<><17>l<00>1<00>M<01>1<01>.!u(R<>u(<00>2 N<01>2<01>2!u(R<>u(<00>1(N<01>1<01>2!<21>R<><1D><00>2GN<01>2<01>.!<21>R<><17><00>1fN<01>1<01>.!<21>MR<><1D>M<00>2<00>N<01>2<01>2!<21>MR<><17>M<00>1<00>N<01>1<01>2!<21><>R<><1D><><00>2<00>N<01>2<01>.*+!<21><>R<><17><><00>1<00>N<01>1<01>.*+u3R<>}+O<01>2=L<1E>3R<>-)O<01>2=L+T<>R<>&JO<01>2=L+ :L GLGL:L <04>M E  Q Q E  <04>  2N ?N?N2N ~O P +P+PP jQ 
R RR
R VS  }}  - -<04>S \T <04>.sI8T3VQ<14>pT7 <09>,<14>@T8 <09>,<14><>T> <09>,<14>QTD <09>, <10>TE <09>,<14>pTF <09>,<14>@TG <09>,<14><>TH <09>,<14><>TI <09>, ?<3F>TJ <09>,$<14>TK -(<14>TL -).<2E>TN -*d(TP -+<14><>TR -,=TT --OST[ -.НT\ -/*<2A>T_ -0`(Ta -1<14><>Tc -2<14><Te -3KSTl -4̝Tm -5Tz<0E>,qQ+<01>/<00>o<>T}~QPL<>,<00>QW;+4)U<><0E>Q4<>NU<> +4#NU<><11>,4+U<><0E>Q4<>NU<> +4%NU<><11>,b8<62>U + ^V +<1E><00>TyT 
^ yT
^<04>V3^^ <04>g ^<04>g&|<00>g<04>g @q/ <04>g@q /<04>.<04><>iqJq <04>z/ Jq<04>z /
/<1B><>W
<10>R<14>EW <0A>,<14>PW EE <0B>W<03>R<00>)<29>P+t3<74><04>RnEL -<00>RW;+<04>Rt)StN SL -'SW;+' }<7D>XV<14>R
'S4<11>X<>DS<04>F4<><34>X<>DS4HX<>DS4<>Y +L0zS<00>4YnS4<>Y +4YnSiZDX<> <0A>SDS$,X<> +<00>SDS<1E><>X<> +<00>SDS<1E><>X<> +<00>SDS$.X<> + TDSS<>X<> +"TDS<>X<> <0C><>+BTDSBT'S*X:<0E>,iT<01>,+DSa<>X<14>DS<00>T<01>/<01>/<1E>X<>*+<00>T<01>,*+*+DS[<5B>X DS<00>T<01>/<01>/DSs#X<> +<00>TDS<01>,+<16><>X<> <0C><>+UDSU3SZ<>X<><11>,2UDST<>X<> +IUDS<00><01><>Z/+iv=X  iU<01>/$<24>`X<> +U<01>/$<24>_X<> +<00>U<01>/<01>/i<04>X<> <0A>UDSi-4X0 <0A>UDS<01>,<1E><>X4 +<00>UDS<01>,+*+#<23>TX<><0E><>DS$#<23>X<><0E>,V<01>,<1E>WX<> +-V+DS4<>*[-<0E>,4O[.<0E>, X| e| <04>S : F[)<04>SL -VW;+N* <04>   *)N N ;1},~<04> <0B>\<5C><0F>. <0B> \<5C><10>.b<><62>\ +<00>cvD <10>M<10>MM~Mg~M<10>~M<10>~M<10>~O(<28>O<10>~O<10>~PB<>PPQ\<5C>Q9QYR{<7B>RyR<10>f<>x<02> 8sr<02><12>_<00>CZ<02>6+<01><><EFBFBD><EFBFBD>5sr<02>3<><00><><01>W<00>W<02><>sr<02><05>p<00><><01>W<00>W<02><><01><>sr<02>~J<00><>X%X<02><><01><>*+*+sr<02><05><><00><>?XJX<02><><01>/sr<02><00><>dXtX<02><><01>/*+sr<02>%<25><00><><01>X<00>X<02><>*+ -sr<02>V<><00><><01>X<00>X<02><><01>/<01>/5sr<02>s<00><><01>X<00>X<02><><01><><03>8<02>P<><00>,YY<02><>+C<02> <0A>$<00><>,Y7Y<02><><01><>C<02> .<00><>QY\Y<02><><01>/C<02> Z<><00><>vY<00>Y<02><> -P<><02> <0A>2<00><><01>Y<00>Y<02><><01><>P<><02> "~<00><><01>Y<00>Y<02><><01>/P<><02> <0A>.<00><><01>Y<00>Y<02><> -d<02> <0C><>*+
ZZ<02><>-
 <0C><>*+*Z0Z<02><>
W
E@ -JZUZ<02><>*+
W
2@ -oZzZ<02><>+Q<>d{<00>/<01>Z<00>Z<02><>end;<3B><00>/<01>Z<00>Z<02><><03> <11>r<00>/<01>Z<00>Z<02><>m]

a<EFBFBD><00>.<01>Z<00>Z<02><> <0A><> 
<EFBFBD><[[<02><>(<28>  f++0[;[<02><><01>/(<28> <09>G+U[`[<02><><01><> <0A>\
dav[<00>[<02><><01><><03><> <0C>C<00>W<01>[<00>[<02><>*+*+<03><> 8I*+<01>[<00>[<02><><01>/*+*+<03><> '<27>*+<01>[\<02><> -*+<03><> <0C><>*+\.\<02><><01><>*+<03><> <0C><>*+H\X\<02><><01>/*+<03><> <0C><>*+r\<00>\<02><><01>/*+*+<03><> 0*+<01>\<00>\<02><> -*+<03><> <09>*+<01>\<00>\<02><><01><>*+<03><> M<>*+<01>\]<02><><01>/*+<1D> <0C>7*+]4]<02><><01>/*+*+<1D> <0C><>*+N]^]<02><> -*+<1D> ۦ*+x]<00>]<02><><01><>*+<1D>  *+<01>]<00>]<02><><01>/*+I7" <0C>z*+<01>]<00>]<02><><01>/*+*+I7# <0C><>*+<01>] ^<02><> -*+I7$ ӭ*+%^5^<02><><01><>*+I7% <0C>g*+O^_^<02><><01>/*+ <09>- <0C><><00>Wy^^<02><>sr0<05>,<00><><01>^<00>^<02><><01>Vsr1<05><><00><><01>^<00>^<02><><01>V*+*+C2 <0A><><00><><01>^<00>^<02><><01>VP<>3 w~<00><>__<02><><01>V%<25>4W<>/7_=_<02><><1C><>; <0C>,g<>< *+!<21>> <0B><><00>,r_}_<02><>*+,"<22>?
k<EFBFBD><00>_<00>_<02><><00>srA<05><><00><><00>_<02><>+
<EFBFBD>W84]<5D><1B>c4]<5D> \<5C>Q<><01>_<00>_Q<>4]<05>3Q<>``Q<>W<>]<5D>4]
<05><>Q<>1`<`Q<><01><>
W]<0E>}<00>_V`a`c<><01><>
W]"5<><00>_{`<00>`c<><01>/
W]<1D>,<00>_<01>`<00>`c<>+<03><>]<11><>+<01>`<00>`c<>m]]"<12>m<00>.<01>`<00>`c<><03>,]$<12>%<00>.a ac<>&<26>]&C<00>.%a+ac<><03>y](<12><><00>.EaKac<> e]*<12>k<00>.eakac<>M<>],څ<00>.<01>a<00>ac<>{].ql<00>.<01>a<00>ac<><03>g]0
h<00>.<01>a<00>ac<><18>]2V7<00>W<01>a<00>ac<>d]4<05>*+b bc<><03><>]6D<>+%b+bc<>D]8M<><00>.EbKbc<>"h]:]<5D><00>.ebkbc<>fr]<<05><><00>W<01>b<00>bc<>%<25>]><05>/<01>b<00>bc<>WB]B<02>i<><01>b<00>bQ<>WB]D<17><>]<5D><01>b<00>bc<>Q<>]GN<><00><>c cc<>end]Ic<><00><>%c+cc<> mk]S
G<EFBFBD>AcVcc<><01><>s<>*+<03><>]V <0B>d<00>,pcvcc<><03><>]Yp<00>.<01>c<00>cc<><<3C>][`<60><00>W<01>c<00>cc<>mat]]X<><00><><01>c<00>cc<>Afs]`W<>'D<>]a]<5D>
<EFBFBD>_f'<27>^B e<>C_AeAK_Be<>_De<14>_Ee<><65>_G"<22><>"w<>(<28><> _W,<2C>kR_<>l<>з_dedзR_<>Q<>зd<00>dз<01>.R_<>;lз<01>d<00>dз<01>.<01>.R_<>}з<01>d<00>dз<01>.<01>.<01>.R_]з<01>deз<01>.<01>.<01>.<01>.R_ <01>&з1ePeз<01>.<01>.<01>.<01>.<01>.R_?<3F>зje<00>eз<01>.<01>.<01>.<01>.<01>.<01>.R__kз<01>e<00>eз<01>.<01>.<01>.<01>.<01>.<01>.<01>.R_' <09>з<01>efз<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.R_0<01>$з3fffз<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.R_:Sз<01>f<00>fз<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.R_E<01><>з<01>fgз<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.R_O-^з.gzgз<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.R_ZD5з<01>g<00>gз<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.5R_e)<29>зhhз<01><>\all_kSs8d+h<01>.c._sXD8dcE<63>_y<0F>`8d<01>eye_cS8d?%_<><0F><>8d~hַە_d$.d
~h}<12>_<>¿8d<01>h<01>.<01>.}r<>_<>u<>8d<01>h<01>.<01>.dot_<>@<00>.<01>h<00>hܷ<01><>t<>_<><08><><00>.iiܷ<01><>row_<>K.d4i?iܷ+col_<>e8dYidiܷ+%_<>%&<26>~h~i<00>iܷt_8dD<00>k<01>i<00>iܷJinv_<>kc<00>k<01>i<00>iܷ+<01><><03>S_> <0A>3d<01>i<00>iܷ<01><>+mul_,p8djjܷ<01><>div_2<11><>8d4j?jܷ<01><>o<>_<> <0C>!ķYjijܷ++o<>_<><06><>ʷ<01>j<00>jз++o<>_<> `<60>ķ<01>j<00>jܷ+o<>_<>s<>ʷ<01>j<00>jз+R_<>^>з<01>j kз<01><><01><>dR_<>=<3D>з&k;kз<01><><01><>
dR_ <01><>зUkjkз<01><><01><>dR_̇з<01>k<00>kз<01><><01><>dR_$<01>з<01>k<00>kз<01><>%dkval_<><10><>_Tp<00>.=m+=n+
8d"<22><>
<EFBFBD>k8}<7D> _1&<26>p;8dVec_<><01>V<04>)l/l<04>Vec_<>$V<04>IlTl<04><01>.Vec_<><01>L<04>nl~l<04><01>.<01>.Vec_<>t<><04><01>l<00>l<04><01>.<01>.<01>.Vec_<><01><04><01>l<00>l<04><01>.<01>.<01>.<01>.Vec_<><01><><04><01>lm<04><01>.<01>.<01>.<01>.<01>.Vec_<>J<04>4mXm<04><01>.<01>.<01>.<01>.<01>.<01>.Vec_<>EM<04>rm<00>m<04><01>.<01>.<01>.<01>.<01>.<01>.<01>.Vec_<><01><><04><01>m<00>m<04><01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.Vec_<> <0C><04><01>m0n<04><01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.Vec_<><01><><04>Jn<00>n<04><01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.Vec_<>/N<04><01>n<00>n<04><01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<01>.<00>Vec_<>w<04>oo<04><01><>Vec_<><01>f<04>(o3o<04><01><>\all_<>w<><00>kOo<01>.mul_<><0E><><00>kioto
<EFBFBD><01><><1C>_R <09><<00>k<01>o<00>o
<EFBFBD><03><>_Y s<00>k<01>o<00>o
<EFBFBD><01><>
W_^<01>ķ<01>o<00>o
<EFBFBD>+
W__
<13>ʷ<01>op<04>+o<>_`F<>ķp(p
<EFBFBD>+o<>_a
ّʷBpMp<04>+Vec_<><01>t<04>gp|p<04><01><><01><>dVec_<><10><04><01>p<00>p<04><01><><01><>
d_Tp<00>.=cn+
<EFBFBD>k5<>
<EFBFBD><10>p
<EFBFBD>p
<EFBFBD><14>p8w<38>
}<1E>r<03><>
<EFBFBD>#<23><00><>
qq<02><><03><>
<EFBFBD><01><><00><>*qDq<02><>++++<03><>
<EFBFBD><01><00><>^qiq<02><>N<><03><>
<EFBFBD>e<><00><><01>q<00>q<02><><01><><01><><03><>
<EFBFBD><01>s<00><><01>q<00>q<02><><01><><01><>C
<EFBFBD> <0A><><00><><01>q<00>q<02><>N<>tl
<EFBFBD> \܁<01>qr<00>br
<EFBFBD> <0A>\܁r r<00>d
<EFBFBD> ζȀ:r@r<00><03><>
<EFBFBD><05><>+Zr`r<00><03>
<EFBFBD><06><><00>.zr<00>r<00><01><>Ax
<EFBFBD> +Ay
<EFBFBD> +'<27>
<EFBFBD>+'x<>
<EFBFBD>+ _Tp+
<EFBFBD>p8/
<12>s/
u<><00><><01>r<00>r<02><>/
 <09><00><>s$s<02><>++d
! Z+>sDs<02><>m]
"
<EFBFBD>}<00>.^sds<02><><00>all
#<12><><00>r'~#
% +Aend
%+
<EFBFBD>r8?<3F>_1&_x;%<25>Vec_<>l"<00><><01>s<00>s<02><>Vec_<><01><><00><><01>s<00>s<02><>+Vec_<>Y<><00><>tt<02><>++Vec_<><01><><00><>9tNt<02><>+++Vec_<>T<><00><>ht<00>t<02><>++++Vec_<>q<><00><><01>t<00>t<02><>+++++Vec_<>p<><00><><01>t<00>t<02><>++++++Vec_<> `<00><>u<u<02><>+++++++Vec_<><01><00><>Vu<00>u<02><>++++++++Vec_<><01>K<00><><01>u<00>u<02><>+++++++++Vec_<><00><><01>u#v<02><>++++++++++Vec_<>Y<><00><>=v<00>v<02><>++++++++++++++<00>Vec_<><01><><00><><01>v<00>v<02><><01>/Vec_<><01><><00><><01>v<00>v<02><><<3C>\all_<><0E>A<00>s<01>v+mul_<><0E><><00>s
ww<02><><<3C><1C>_R ML<00>s/w5w<02><><03><>_<><0E><><00>sOwZw<02><><<3C>
W_ <0C><><00><>tww<02><>+
W_<06><><00><><01>w<00>w<02><>+o<>_% <0C><><00><><01>w<00>w<02><>+o<>_,(<28><00><><01>w<00>w<02><>+Vec_<><00><00><>xx<02><><01><><01><>dVec_<><1C><00><>7xLx<02><><01><><01><>
d_Tp+=cn+
<EFBFBD>s8<><38>
C<1E>y;<3B>k<03>x
<EFBFBD>_<00><><01>x<00>x<02><><03>x
<EFBFBD><01><><00><><01>x<00>x<02><><01>.<01>.<01>.<01>.<03>x
<EFBFBD>+<2B><00><><01>x<00>x<02><><01>.\all
<EFBFBD><0E><>dxy<01>.mul
<EFBFBD>-dx(y8y<02><><01><><01>.<1C>
<EFBFBD><>dxRyXy<02><>M<>
<EFBFBD>Y%<00>.ryxy<02><>_Tp<00>.
dx(F9`<60>ÀF9`<60><05>Sƹ<01>y<00>yƹF9`<60>Γƹ<01>y<00>yƹ+<01>,F9`<60>kƹ<01>yzƹѹF9`<60>t<>ƹz$zƹ׹F9`<60>9<>ƹ=zHzƹݹF9`<60><05>ƹazlzƹ<01><>F9`<60>H<>ƹ<01>z<00>zƹķF9`<60>Cƹ<01>z<00>zƹ<01><>F9`<60>]ƹ<01>z<00>zƹ<01><>F9`<60><05>rƹ<01>z<00>zƹ<01><>F9`<60>)<29>ƹ{ {ƹ<01><>F9`<60>ƹ9{D{ƹ<01>F9`<60>HMƹ]{h{ƹ<07><03>`<60> c<><00><><01>{<00>{ <0A>+<07><>`<60> <09><><00><><01>{<00>{ <0A>+t<>`<60>
)<29>3<><01>{<00>{ <0A>+&<26><>`<60>
<1B><01>{<00>{ <0A><13>&\[`<60>
<EFBFBD><EFBFBD> || <0A><19>&<26><>`<60>
<EFBFBD><EFBFBD>)|4| <0A><1F><07><>`<60><12><><05>M|S| <0A>kH`<60><11>b(<28>l|r| <0A>x`<60> <09>N+<01>|<00>| <0A>Ś`<60> <0B><><00>,<01>|<00>| <0A><15>`<60>
<EFBFBD><EFBFBD><00><><01>|<00>| <0A>o<>`<60> <09><>+<01>|<00>| <0A><07>`<60> <09><>+}} <0A>+<07><>`<60> #G++}6} <0A>+<07><>`<60> <09><>+O}Z} <0A>+d`<60>
-I<00><>s}~} <0A>+<07>V`<60> <09><>+<01>}<00>} <0A>۸+<1C>`<60>
<e<00>.<01>}<00>} <0A>%<25><07><>`<60> <0C><>*+<01>}<00>} <0A>+<07><>`<60> <09>+~~ <0A>+<07>`<60> E-+,~7~ <0A>+<07>L`<60> <09>Q+P~[~ <0A>+<07>`<60>
d<EFBFBD><00>.t~~ <0A>+v.`<60>
m<00>.<01>~<00>~ <0A>+m]`<60>
<EFBFBD><00>.<01>~<00>~ <0A>&<26>Y`<60>
-u<01>~<00>~ <0A>+<2B>&<26>Y`<60>
9R<01>~ <0A>+<2B>%<25><,`<60> <0C><>*+ + <0A>+&<26>`<60> <0C><>*+DO <0A>+<07>y`<60>
b<EFBFBD><00>.hn <0A><07>`<60>
&e<00>.<01><00> <0A>e<>`<60>
H1<00>.<01><00> <0A><07>W`<60>
"s<00>.<01><00> <0A>R`<60>
a:<00>.<01><00> <0A><07>`<60>
<EFBFBD>C<00>.<03> <09> <0A><07>&`<60>
<EFBFBD><EFBFBD><00>."<22>(<28> <0A>E9`<60><05> <00>,A<>L<>ƹ+<00><01><>`<60> +kobj`<60> <0B>,ksz`<60>
<EFBFBD><EFBFBD>&<26>M`<60>
]<5D><02><><00><>ƹ+g0<00><01>M`<60>
<15><02><>ƹ+g0<01><>
<EFBFBD>y8d
"ׁ<03><>
L<><00><><01><><00><><02><><03><>
ڐ<00><><10> <20><02><>++<03><>
$t<><00><>:<3A>E<><02><><01><><03><>
(<01>S<00><>_<>j<><02><><01><>C
2 x?<00><><01><><00><><02><><01><><03><>
9</+<01><><00><><02><>'<27>
4 +'x<>
4+_Tp+
Ȁ(
A
<EFBFBD><1E><><03>
/q 6<><03> <09>6<><03>
3<01>6<>#<23>3<>6<>++<03>
7<01><>6<>M<>X<>6<><01><><03>
;<01>t6<>r<>}<7D>6<><01><><03>
?<01>r6<><01><><00><>6<><<3C>C
CNqB<><01><>ǂ6<><01><>2<>
P<01>q<00>s<01><><00><>H<>dot
V<02>+<01> <0C>H<><01><>t<>
\?~<00>.&<26>1<>H<><01><><03><>
b<00>.K<>V<>H<><01><>{
h<01><><00>.p<>{<7B>H<>N<>kx
<EFBFBD> +ky
<EFBFBD> +_Tp+
܁<00>Mat8`<60><12><>Mat`<60>D<>ź˃уźMat`<60><05>]ź<01><><00>ź+++Mat`<60>[<5B>ź<1A>*<2A>ź<01><>+Mat`<05> źD<>^<5E>ź+++кMat`<05><>źx<><00><>ź<01><>+кMat`<05><>ź<01><><00><>ź+<01>/+Mat`"G
źք<00><>źĸ+Mat`-<05><>ź<00><1A>ź+<01>/+кMat`7<10>ź4<>I<>źĸ+кMat`A <0B>źc<>n<>źѹMat`Q<05><>ź<01><><00><>ź+++<01>,*+Mat`atLź<01><>ۅź<01><>+<01>,*+Mat`p9<>ź<01><><14>ź+<01>/+<01>,ֺMat`~<05><>ź.<2E>H<>źĸ+<01>,ֺMat`<60><05>hźb<>w<>źѹܺܺMat`<60><05><>ź<01><><00><>źѹ<01><>Mat`<60><05>ź<01><>ˆźѹ<01><>Mat`<60>;<3B>ź<01><><00><>źѹ<01><><00>Mat`<60><0E><>ź<10><1B>ź<01><>f\`<60> ><00>,5<>@<40>ź+C`<60>
A7<>Z<>e<>źѹC`<60>
<0A>7<><><00><>ź׹t<>`<60>
<EFBFBD><EFBFBD>3<><01><><00><><02><>+}<7D>row`  <08><00><>·ه<02><>+col` <09>]<00><><01><><00><><02><>+<03><>` i<><00><><18>(<28><02><>++<03><>`$ C<><00><>B<>M<><02><>ܺ/`- <09><><00><>g<>w<><02><>++/`2 <09><><00><><01><><00><><02><>ܺ%`? ܜ<00><><01><><00><><02><>+?%`F<1A><00><>݈ѹe`M <00><><01><><00><><02><> <0A>Y`^
<15><13><1E><02><>b<> <0A>Y`f
g4<>D<><02><>b<>o<> <0A>8`u
6<EFBFBD>Z<>t<><02><>b<>+<01>.<01>. }<7D>`}
<EFBFBD><01><><00><><02><>7<>+C`<60>
QA7<><01><><00><>źк5`<60>
<14>7<>ى<00><>źo<>o<><14>`<60> <09>W<00><><03><13><02><>++<14>`<60> <09><><00><>-<2D>B<><02><>++<01>/t`<60> |<00><>Z<>`<60><02><>inv`<60> <03><00><>z<><00><><02><>+mul`<60> ͠<00><><01><><00><><02><>o<><01>.<03><>`<60> <09>?<00><>ɊԊ<02><>o<>dot`<60> <0C><><00>.<01><><00><><02><>o<>?.`<60>bE<00><><1F>+++?.`<60><14>J<00><>@<40><01><>+?.`<60>Ow<00><>f<>+<01>/+?E<>`
<14><00><><01><>+++?E<>`<14><><00><><01><><01><>+?E<>`<14>1<00><>Ӌ+<01>/+\eye`%<14>=<00><><01><>+++\eye`+ز<00><><1A><01><>+ <0A><>`N
A 0<>E<>ź+++ <0A><>`T
<EFBFBD>[<5B>k<>ź<01><>+ <0A><>`[
m<01><><00><>ź+<01>/+ <0A><>`a
|<7C><01><><00><>źĸ+ <0A><>`l
)NҌ،ź <0A>`{
<EFBFBD><EFBFBD><01><><00><>ź "<22>`~
<EFBFBD>U
<EFBFBD><10>ź <0A><>`<60>
<08>&<26>1<>źѹ <0A><>`<60>
Q+G<>R<>ź*+ <0A><>`<60>
=^h<>s<>ź*+ <0A><>`<60>
<EFBFBD><EFBFBD><01><><00><>ź*+к B`<60>
<EFBFBD><EFBFBD><01><><00><>źg0 ;B`<60>
<EFBFBD><EFBFBD>Ѝۍźѹ <0A>`<60>
)+<01><><00><>ź*+ M<>`<60>
<1E><12>"<22><02><><01><><01><>*`<60>
T<EFBFBD>7<><<3C>V<>ź++++o<>`<60> <09>x<00><>p<><00><><02><><01>r<01>ro<>`<60> <11><00><><01><><00><><02><><01><>o<>`<60> <09><><00><><01><>ʎ<02><><01><>o<>`<60> <09><><00><><01><><00><><02><><01><><03>`S
<EFBFBD><EFBFBD><00>. <09><0F><02><>v.`V
-G<00>.)<29>/<2F><02><><03>`] ̷*+I<>O<><02><>H<>`d C[*+i<>o<><02><><03><>`k <09> +<01><><00><><02><><03>`z <1E>+<01><><00><><02><><03>L`<60> u"+ɏϏ<02><><03>`<60> M *+<01><><00><><02><>+m]`<60>
<EFBFBD><EFBFBD><00>.<0E><14><02><><03><>`<60> ,Y*+.<2E>4<><02><><03>I`<60> <09>+N<>c<><02><>++<01>.ptr`<60> \<5C>s<>}<7D><00><>ź+ptr`<60><12><><00><01><><00><><02><>+ptr`<60> ;<3B>s<>ǐאź++ptr`<60>4<00><01><><01><02><>++ptr`<60> <0C><>s<><1B>0<>ź+++ptr`<60><12>&<00>J<>_<><02><>+++ptr`<60> *<2A>s<>y<><00><>ź<01>/ptr`<60>8$<00><01><><00><><02><><01>/Mat`<60>.<2E>źÑΑź<06>C`<60>
I7<><01><><00><>ź<06>'<27><>`<60> +'<27>`<60> +'<27><>`<60> +'<27><>`<60>+ 'Ed`<60> s<>'W<>`<60><00>`<60><00>'<27>/`<60><00>'O!`<60> <0C> c <0C>`<60><1A> <0C>c<>#`<60><1A>x <0C><01><01><>`<60><11><><01><> <0C>Au`<60>a<>$'d`<60> <20>('&<26>`<60> 2<>,
<EFBFBD><EFBFBD>8*%<00>`* <12><>*%`- <05><>$<24><10><16>$<24>5*%`. hO$<24>0<>;<3B>$<24>ѹ*%`0 )h$<24>U<><00><>$<24>*<2A>+ѹѹѹ<01>.<01>.к<03>_`3 <05><00><><01><><00><>0<>d`6
V<EFBFBD><00><><01><>Ó0<><03><>`7 <09><>+ݓ<00><>0<>row`9 <1E><00><><01><><08>0<>+col`: <0A>r<00><>"<22>-<2D>0<>+%`; <0A>#<00><>G<>R<>0<>+o<>`< <0A>d<00><>l<>|<7C>0<>ܺܺo<>`= <0A><00><><01><><00><>0<><01><>t`? n5<00><><01><><00><>0<>inv`@ Wk<00><>ٔ<00><>0<>+mul`A <0A>w<00><><01><><0E>0<>׹<01>.mul`B v<00><>(<28>8<>0<>ѹ<01>.<03><>`D _<><00><>R<>]<5D>0<>ѹdot`E <0C><00>.w<><00><>0<>ѹAop`G *<2A>'<27><>`H +Aa`J <09><>Ab`J <0C><>@Ac`J <0F><>x'<27>U`K <0C>.<00>'<27><>`K <13>.<00>As`L P<><00>
<EFBFBD><EFBFBD><00><01><>^<5E> <1A>"<22><>
<05>"<22>

<0F><00>ogl^<5E> 3<>"<22>
(<28>8h<38>0`<60><12><>h<>`<60>)<12>[<5B>f<><12>}<7D>h<>`<60><05><12><01><><00><><12>+++}<7D>h<>`<60>N<><12><01><>ɖ<12><01><>+}<7D>h<>`<60><05>l<12><01><><02><12>+++к}<7D>h<>`<60><05><12><1C>6<><12><01><>+к}<7D>h<>`<60><05><12>P<>j<><12>+<01>/+}<7D>h<>`<60><05>`<12><01><><00><><12>+<01>/+к}<7D>h<>`<60>|a<12><01><>ȗ<12><01>h<>`<60>&~<12><01><><00><><12><01>ܺܺh<>`<60>S<12><11>!<21><12><01><01><>h<>`<60><12>;<3B>K<><12><01><01><>h<>`<60><05>a<12>e<>u<><12><01><01><>,`<60><05><><00>,<01><><00><><12>+C`<60> YVU<><01><><00><><12><01><03>`<60> <09><><00><>٘<00><><18>+row`<60>
_q3<><01><> <09><18>+col`<60>
83<>#<23>.<2E><18>+<03><>`<60>
<EFBFBD>3<>H<>X<><18>++<03><>`<60>
+3<>r<>}<7D><18>ܺ/`<60>
<EFBFBD><EFBFBD>3<><01><><00><><18>++/`<60>
<EFBFBD>13<><01><>̙<18>ܺ%`<60>
<EFBFBD><EFBFBD>3<><01><><00><><18>+?%`<60>/3<> <0A><01>e`<60>
<EFBFBD><EFBFBD>3<>'<27>-<2D><18> <0A>Y`<60>
<EFBFBD>
C<>N<><18>b<> <0A>Y`<60>
<EFBFBD><EFBFBD>d<>t<><18>b<>o<> <0A>8`<60>
<EFBFBD><01><><00><><18>b<>+<01>.<01>. }<7D>`<60>
<EFBFBD>x<01><>ʚ<18>U<>+C`<60> <0B>(U<><01><><00><><12>к5`<60> B<>U<> <09><19><12>o<>o<><14>`
<EFBFBD>3<>3<>C<><18>++<14>`
<EFBFBD>H3<>]<5D>r<><18>++<01>/t`
<EFBFBD>R3<><01><><00><><18>inv`
<EFBFBD><EFBFBD>3<><01><><00><><18>+mul`
<EFBFBD><EFBFBD>3<>ϛߛ<18>o<><01>.dot` <0C><><00>.<01><><04><18>o<>?.` <11>(3<>*<2A>+++?.` U3<>K<><01><>+?.` d{3<>q<>+<01>/+?E<>` b<>3<><01><>+++?E<>` Ƴ3<><01><><01><>+?E<>` <11><>3<>ޜ+<01>/+\eye` <11>\3<><04>+++\eye` <11><>3<>%<25><01><>+ <0A><>`
<EFBFBD><EFBFBD>;<3B>U<><12>+++}<7D> <0A><>`
<EFBFBD><EFBFBD>k<><00><><12><01><>+}<7D> <0A><>`
<1B><01><><00><><12>+<01>/+}<7D> <0A><>`
7Ɲ۝<12>ĸ+}<7D> <0A><>`
<EFBFBD><EFBFBD><01><><00><><12> <0A>`#
3 <0A><13><12> "<22>`&
~q)<29>/<2F><12> <0A><>`(
<EFBFBD>E<>P<><12><01> M<>`+
!<21>f<>v<><18><01><><01><>*`- <0B><>U<><01><><00><><12>++++o<>`0
<EFBFBD>l3<>ĞԞ<18><01>r<01>ro<>`1
<EFBFBD><EFBFBD>3<><01><><00><><18><01><>o<>`2
<0E>3<><13><1E><18><01><>o<>`3
!<21>3<>8<>C<><18><01><><03>`8
<EFBFBD>R<00>.]<5D>c<><18>v.`;
<EFBFBD>)<00>.}<7D><00><><18><03>`? <0C>O*+<01><><00><><18>H<>`A g<>*+<01><>ß<18><03><>`C <09>K+ݟ<00><><18><03>`E D+<01><><03><18><03>L`G U<>+<1D>#<23><18><03>`I K<>*+=<3D>H<><18>+m]`K
<EFBFBD>s<00>.b<>h<><18><03><>`M R*+<01><><00><><18><03>I`P I<>+<01><><00><><18>++<01>.h<>`S `e<12>Ѡܠ<12><1E>C`T U<><01><><01><12><1E><03><>`W ˨<00>,<1B>&<26><18>+ <0A><>`X
%<25><<3C>G<><18><01><>'<27><>`c +'<27>`e +'<27><>`g +'<27><>`g + 'O!`j  <0C>`k }<7D>c <0C>`m <1A>[ <0C>Au`p a<>'<,`s *+'d`u <20> '&<26>`v 2<>$
3<EFBFBD>x
;<00>2<>
7Ȁ8<>$` x<>;<3B>y<03>$`Z<>1<><<3C>B<>1<><03>$`v1<>\<5C>l<>1<>+<01>,<03>$`<05>1<><01><><00><>1<>7<><03>$`]<5D>1<><01><><00><>1<><13><03>$` <05><>1<>Тۢ1<>=<3D><03>$`!HG1<><01><><00>1<><1F><03>$`"<05><>1<><1A>%<25>1<>C<><03>$`#c<1<>?<3F>J<>1<>I<><03>$`&<05>o1<>d<>o<>1<>O<><03>$`,h<>1<><01><><00><>1<>U<><03>$`-<05>91<><01><><00><>1<><19><03>$`/"<22>1<>ӣޣ1<>ѹ<03>$`0ͦ1<><01><><03>1<>ݹ<03>$`1<05><>1<><1D>(<28>1<><01><><03>$`2<05><>1<>B<>M<>1<><01><><03>$`3f1<>g<>r<>1<><01><><03>$`4<05><>1<><01><><00><>1<><01><><03>$`<<05>1<><01><><00><>1<><01><03>$`=-<2D>1<>֤<00><>1<><07>s`?
<13><00>.<01><><01>[<5B>҇`@
VH<00>.<1B>!<21>[<5B>%p`A
Z<EFBFBD><00>.;<3B>A<>[<5B>aN`B
<EFBFBD><EFBFBD>7<>[<5B>f<>[<5B>+
`C % U<><01><><00><>[<5B>+d<>`D<13> =<3D><01><><00><>[<5B> g`E <10><1F>ť˥[<5B><03><>`F<12>5C<><01><><00><>[<5B>+<2B>`G<14>PI<><05> <0B>[<5B> <0A><>`H
<EFBFBD><EFBFBD>!<21>@<40>[<5B><01><>++<01>.+ <0A><>`I
m<EFBFBD>V<>z<>[<5B>++++<01>.+ <0A><>`J
<00><01><><00><>[<5B>+<01>/++<01>.+ w`K
9<EFBFBD>ʦڦ[<5B>%<25>+ <0A>`L
<EFBFBD><EFBFBD><01><><00><>[<5B> <0A><>`M
<EFBFBD>7 <0C><12>[<5B> 5`N
'<27>(<28>8<>[<5B>%<25>%<25> nA`P
<EFBFBD><EFBFBD>N<>Y<>[<5B><01><00>nA`Q
U<EFBFBD>l<>[<5B>ѹ
<0A><00><01><>;+`<60><06><>3<>3]x3H93<><33><04> N<00><><EFBFBD><19><>4`<60><11><11><>`<60><05><>a<>ۧ<00><>a<>g<>Z2`<60>0<><00>,<00><>
<EFBFBD>a<>+,<2C>H`<60>
<1A><1F>%<25>a<>,N<>`<60>
3<EFBFBD>:<3A>@<40>a<>a<>`<60>
<04><00>.Y<>_<>m<>.`<60>
%<25><00>.x<>~<7E>m<><11><>`<60>
<EFBFBD><EFBFBD><00>.<00><><00><>m<><11>q`<60>
<EFBFBD>;<00>.<00><><00><>m<>_<>`<60>
9<00>.ըۨm<>^<5E>`<60>
2<00>.<00><><00><>m<>,<2C><>`<60>
<EFBFBD><EFBFBD><0F><1A>a<><01>.,<2C><>`<60>
<EFBFBD><EFBFBD>/<2F>:<3A>a<><01>.,<2C>X`<60>
<1D>O<>Z<>a<><01>.<1C><>`<60>g<><1C><>`<60>g<><1C><>`<60> +<1D>`<60> + Ed`<60> s<>g<>`<60> s<>d`<60> *+<1C><>`<60> +<1C><>`<60> <0B>, L `<60> <0B>,$l`<60> +(<1C>?`<60> +,<1C><>`<60>a<>0
<EFBFBD><EFBFBD>"<1B>
<16>8L`-<2D>h8L` <0E>ty<>G<>R<>y<>۸o<>`

<EFBFBD><00><>k<>q<><>
W` Gi<00><><00><><00><><>+
W` 
<EFBFBD> <00><><00><><00><>y<>+
<EFBFBD>` j<><00>/Ҫت<><11>`
9<EFBFBD><00>.<00><><00><><><01><><11><>`
$/<00>.<15> <20><><01><>Xp`
۸
<20><19>( `K<><11>(`6<00><>Y<>_<><02><>h<>(`<0E>5<00><>x<><00><><02><>*+
W`3<><00><><00><><00><><02><>+
W` h<00><><00><>˫<02><>+<11>6`<05><>*+<00><><00><><02><>C`g:<00><><03><0E><02><>*+Xp` <0A><>Xbuf`<11><><04>C` կ<00><>?<3F><02><><01><>
2<EFBFBD><18><>
^dx
P<EFBFBD><18>$`}+<2B>G9`{%<25> <0B>
<EFBFBD><11><> <0B>
<EFBFBD>܁"-<2D>
<EFBFBD><EFBFBD>8<><38>,]j <20><00><01> ]<5D> -<2D>Y ]<5D>+Xseq]<5D><14>,<1C>7]<5D><14>,Xptr]<5D>o<> #<23>]<5D>o<><1C>c]<5D>o<>m ]<5D>+<1C><>]<5D>o<><03><>]r <0B>u<>G<>M<>u<><03><>]y<14>u<>g<>|<7C>u<>W<>]<5D>*+<03><>]~<05><>u<><01><><00><>u<>{<7B>WB]<5D>\<5C><00>_<01><><00><><02><><16>]<5D><0E><><00>_ۭ<00><><02><><03><>]<5D><17><><00><><01><><01>u<><03><>]<5D><02><00><><1B>&<26>u<>+N<>]<5D><00><>@<40>F<>u<>N<>]<5D><16> <00><>`<60>k<>u<>+P<>]<5D>O<><00><><01><><00><>u<>+ <0B>]<5D>L<00><><01><><00><>u<>+mk]<5D><17><><00><>Ϯ<00><>u<><01><>s<>*+Afs]<5D>W<>'<27><>]<5D>]<5D>'<27><>]<5D><0F><>']]<5D> *+(
<EFBFBD><EFBFBD>(<28><>_W,ضR_<>r(<00><>L<>R<><02><>R_<> (<00><>l<>w<><02><>+R_<>
<EFBFBD><00><><01><><00><><02><>++R_<>1<00><><01><>Я<02><>+++R_[<00><><01><><04><02><>++++R_ `e<00><><1E>=<3D><02><>+++++R_ <00><>W<>{<7B><02><>++++++R_]/<00><><01><><00><><02><>+++++++R_'<01>i<00><>ذ<06><02><>++++++++R_0f<><00><> <20>S<><02><>+++++++++R_:2<00><>m<><00><><02><>++++++++++R_E<01><><00><><01><><01><02><>++++++++++++R_O<13><00><><1B>g<><02><>++++++++++++++R_Z<01><00><><01><>ײ<02><>++++++++++++++++5R_e/<00><><01><><00><><02><><01>/\all_kԳ%<25><18>+c._s<0F><>%<25>cE<63>_y<0F><>%<25><01>eye_<04>%<25>?%_<><0F><>%<25>k<><01><>ە_d$ݶ
k<EFBFBD>}<12>_<>4%<25><01><>++}r<>_<><11>%<25><01><>++dot_<><05>+׳<00><><02><><01><>t<>_<>U<00>.<01><><07><02><><01><>row_<><11>Xݶ!<21>,<2C><02><>+col_<>%<25>F<>Q<><02><>+%_<>%<25><>k<>k<>q<><02><>t_8+<2B><00><><01><><00><><02><>Jinv_<><15><><00><><01><><00><><02><>+<01><><03>S_> ƥ<00><>Ҵ<00><><02><><<3C>+mul_,<04>%<25><01><><07><02><><01><>div_23<>%<25>!<21>,<2C><02><><01><>o<>_<> s<><00><>F<>V<><02><>++o<>_<><06>*<00><>p<><00><><02><>++o<>_<> <0C>K<00><><01><><00><><02><>+o<>_<>lb<00><><01><>ʵ<02><>+R_<><01><><00><><01><><00><><02><><01><><01><>dR_<><01><00><><13>(<28><02><><01><><01><>
dR_ <00><00><>B<>W<><02><><01><><01><>dR_<01>(<00><>q<><00><><02><><01><><01><>dR_$<01><00><><01><><00><><02><><01><>%dkval_<><10>,_Tp+=m+=n+
%<25>"<22>["<22>]
<EFBFBD><EFBFBD>"S<>wa<77>_<> wk<77>a= GIMb<><00>absE +(<28>+!<21>oc<><01>><00>.B<><01>.CexpcDX<><00>.\<5C><01>.Cpowc<><01><><00>.{<7B><01>.<01>.Clogc<><01>&<00>.<00><><01>.<04>W
<EFBFBD><EFBFBD> <04>_ <04>c <04>W<04>_<04>.<04>. <04>. <04>.8d <04>h<04>k <04>k <04>p <04>kL<>.<04>W;+<04>k<04>p<04><><04>݀ <04> ݀ <04>.5<><04><> <04><><04><><04><>  <0B><04><> <04><>Ն s<><04>.چՇ <04>.P<> <04><><04><> P<>.<2E> <04><><04><> .<2E><04>r<04>s d<>
ʸ <04>+<04> + %+i<>
<EFBFBD><EFBFBD> <04><> !<21> .<2E> i<> H T<04><>
"<22> <04><>)<04><> <04><> <04><><04><>
E<EFBFBD>
<EFBFBD> :<3A>)<04><><04><>
b<EFBFBD> 4<> <04><>)<04><> <04><>d<>)<04><>dx<04>y <04>yȀ
<EFBFBD><EFBFBD> ׁ <04><> Ȁׁ<04>y
ƹ <04><> <04><> <04><> <1B> 
<EFBFBD> <04><> -<2D> <14> <04><> <04><>À <1E> <04><>  <20> À x<> <0A> <04><> <05> (<28> <0F> <04><> 3<>x<><04><><1B><11>v. <20>-<2D> -<2D>2<> 6+K<> *+ 2<>*+L*+<00><>W;+ K<><04><>
ź ]<5D>6+ <04>s <04>p <04><><04><> <04><> |<7C><04>.)<04><><16>3<><04><>)3<><04><><04><><04><>܁ _x ܁<04><> <04>r<04> jj<04><> <11> Q<> ^<5E> <04><> ' 3*<2A> <04><>)<04><> *<2A> <04><><1D><19> I<>)<1D><1E> <04><> 6<>)<1E><04><>)(<28><04> -<2D> <04><> <04><> <04><> -<2D> <04> <04><04><> <04><>)<04><> <04><> <04><><04><><04><> <04><>)<04><><04><> <04><>  <0B>)<04><><04><>)<04><>0  <04>!<04>!<04><> 9<> y<> <04><> <04><><04>" $<04>+$ <04>+<04>+ <04>+8<> <04><> <04><> <04><> 8<><04><>)<04><>q<> "<22>)q<><10> <15><04><><04><> r<>)<04><><1B><04><> A<>)<04><><04>$ I&<05>I&
<EFBFBD><04><> 7<> w<> <04><> <04><> ' 'P<> "<22>)<16> P<> <16>C<>?<3F> o<>)C<> <20> <04><> 8<>) <20><04><>)*<2A><04>p <04>p<04>rr' <04>(<04>( <04>rS<> <04><>  <0B> <18> S<> <04>) <04>)<04><> <04><>)<04><> <04><> <04><><04><><04><> <03>)<04><><04><> d<> <04><>)<04><> <04><><04><>)<04><> <0B>C]\<1E><>
<EFBFBD><EFBFBD>t<>C 4]]Ͼ
<EFBFBD><EFBFBD> 4d<>Q<><00>d<>&<26>ufd<><10>.uid<> +ustrd<><17>useqd<><10><>umapd<>6<>Xtagd<> +<1C>Gd<><18><>Edd<>ݾ<04>_<04><>ʾ<04>c<04><>j.<04><>  <20> <20> <04><>%<25> x<>ض ض <04><><04>s_x:<3A> &Ye&<1B>+ <0B><>f0տ,$<24>Ae<> +<00><><01>D<01><>$j<>f7<0F>D<11><01>Dɿ$l<>f4ɿ'<27><01>/$<24>Ae<><11><>=<3D><01>/ <04><> <04><> <04><><04><><00><> <04><><04>f<00><>1<03>1<03>31<03>:$<24><04>Ph<>g' o0g+<0E>0g.<0E>1g3 {/g4 <0C>/g6 <10>g6 M~g6 g~g6 <0C>~g6 <0C>~g6 <0C>~g7 <0C>0g8 <0C>0g9 <0C>0g: <0C>0g< z g< !1g< <0C><>g> >1g@ U1gC q1gD <0C>1gE <0C>1gG <0C>1gH 2gJ 2gK ,2gL M2gM m2gN <0C>2gP <0C>2gQ <0C>2<04>,<19>Hd<><10><><1C><>d<><19><><1C><>d<><19><><04><><18>Hd<><01><> d<>5<><1C><>d<> +<1C><>d<>5<>Xtopd<>5<>d<>d<>;<3B> H-d<> +<d<> +<04><><04><> d<><01><><19><>d<><10><><1C><>d<><19><><1C><>d<><19><>sd<>
+<1C>d<> + Edd<> o<>N<><18><>d<>N<><16>8d<38><10><><1C><>d<>+Y d<>+<1C><>d<><05><>jld<><05><> <1C>d<><05><><1C>d<><05><><1C><>d<>+\*d<>+<1C>cd<>o<> Xptrd<>o<>$&d<>+(?id<><05><>,<<3C>d<><05><>0{<7B>d<><05><>4<04><>A<><04><><16>d<><01><><04><>uCd<><10><><1C>d<><12>H<1C><>d<><18><><04><>uCd<><01><><19>4d<><17>Xlend<> +Xptrd<> <0B>,<18>4d<><01><>5d<>1<>t3$<24>$(d<10><><1C><>d +Y d +<1C><>d<18><><1C><>d <18><> <13>d
<11>/0d <16><><1C>d <13><><1C>d <1E>OdK<> edy<>$<<3C><18><>d<><18><><04><>s+<00><>g0<18> d<> <0C><12><00><1E><01><><18><>d<>+<2B>1<>s<>,E<>E<>i<><04><><18> d<>X<>^<5E><00>y<>E<><01>/g0<01><><07>d<><1A><><04><>s<>,<00><>g0<00>A<>UH0$P UN<0F>.<00><>00$T&UR0<00><><01><><04>J$ <0A>UK0<00><><01><>0$
U<><0E>,<11><01>J$ U<><0E>,'<27>'<27>0$|2Uw<13><>C<>'<27>$<1B>U{<13><>Y<>'<27>DA<44><04>m<>DP<44><><04><>D<><44>"<22><04><><00><01><><00><>ʚ;
<EFBFBD><04><><1D><04>,<2C><04><>
<EFBFBD><EFBFBD> <04><> <04><><04><>
<EFBFBD><EFBFBD> j<> x+k<><00><><04><><00><><04><><00><><04><><00><> <0C>o<><12>}<7D>h<>-<2D>(<28><<3C>@<40><16> 2<><04><> <04><><04><> <04><> <00><>i<><00><>0"<07><04><><15>m<>b<>ep<><04>)<00><><04>2<00><><04>f<1F><04>--<2D>@m\<5C><04>=j<>k<><00><>R<><00><>
<EFBFBD><00><>V<00><><04><><00><>l<> <00><04>\<00><04><00><04><>
<08> j<> <04><>j<>
<1F> p<><00><01><><00>@BO<02>b/yq<00>L<03><>r+Yr<>r<> &Yh3-b{1iG2b}1i!G245<34>j$<0E>,4<>j2 +4<><34>j7 +4 [j; +L0<00><>W;+@
<EFBFBD><EFBFBD>b_<62>k<1A><>b`<60>k<1A><>4<>gl<> +b><3E>ld40ne;+mPL<>31<33>3<>3,<2C>3T"3[<5B>3<><33> emX<15>e#mf<10><><00>mk <0B><><00><01>Gml ;+mhL<><18>mi<10>/<14><>mj<1B><><14><>mme<> <1D>mn;+?Amo
<EFBFBD>,X<> e#mpX<>L+<00><>W;+4= n<><01><> <0B><>o<>
<EFBFBD><10><00>!<21>++L<><4C>-<2D><00>4<02>o<>!<21>4gp9<17><><04><> <10><04><>
Q<EFBFBD> <04><>D-<2D><00>gD<><00>]D><3E>y
<04>D/<2F>od<04>l<><00><00>Ul g<00><04>DU<44><00>dM<04><00> 0<04>= <04><04> -<04> <04><04><>g<04><>u<04><<00>M}<00>3<><00>uk<00>7(w<>9X<00> <00><04><00><04><00><04> <04>/<04> <04><00>,8<00>,<00><01><><00> <00><><EFBFBD><EFBFBD>x<EFBFBD>{(<00> <00><><EFBFBD>D<7F>8s&lb<6C><00>4l<>v4D<><44>@* DV<44>o*<00><>A<><00>*<00><>~l<>7<00>*<00><EFBFBD>9KL<01>V<EFBFBD>SV<53>K<00>]<01>m<><00><><EFBFBD>a<><01>,KJ<>Pu<00>PKP<><00><01>z<>MK<4D>]+M<>n]+/=<00><><03><>%*иN__p t<1A>0/$<00><><02><>%*и@<40><>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<00><><00><><17><>6<>"<03><> <0C><>۸۸۸6r<36>"<22>O__a<0E>"<04>O__p<0E>/<2F><>O__n<0E>>3<>/g0<>C<>%*и%9<>%+@"<22>%T<>Z<>0<>/}<7D>h<>r<>%*<00><>@Z<><00><><00><>h<> O<>O<>
<EFBFBD><EFBFBD>64 <03><> <0C><><00><>N__f/!<21><><04> 
<EFBFBD><EFBFBD>/` <00><><03><>%*<00><>6<>  <09> <0C><>۸My<4D> ۸M<05> /<2F><><17>;<3B>%*K<>O__p ,՚O__n ,)<29>M/<2F><>I<>\<5C>%*<00><>%9<>%+@;<3B><00>m<>s<>I<>/4<><00><><02><>%*(<28>@s<> <00><><00><><17><>6
<03><>
 - FLB1d+=<3D>/<2F> <00><><03><>%*<00><>O__c<07> -W 
<EFBFBD><EFBFBD>/<2F> 
<EFBFBD> <20>%*<00><>M<>P<07><18><>6:
Z<> <0C><>۸_Tp+My<4D> <0A>۸M<05> <0A><10>/<2F><>h<>r<>%*K<>/[<5B><00><><02><>%*K<>%9<>%+@r<>F<00><><00><><17><>/]<5D><00><><02><>%*K<>@<40><>f <00><><00><><17><>~<7E><> X<0E><><02><>%*(<28>%9<>%+@<40><> <0E><14><17><> <04><><04><>
<1A>+<2B>s<14>:<3A><14>/ <09>H<>^<5E>%* <20>M<>l$%<25>6l
<03><>
 - FLB1N*=<3D>/-<2D><00><><03><>%* <20>N__n<04>-6V<36><03><> '<00><> &<26>- <0C><><0F>N__d<05>4<EFBFBD><34>6<><36><13> &<26>- <0C><><0F>N__d<05>*<2A><> F?<05>%b<>6<><36>\<5C> <0A>- C<0F> <13>- C<00>B<>_I2<><32>B[WJ$<13>6<><36><03><> <0A>- C<00> <13>- C<0F>B<>_/2<13>B[W0$<24><><18><>44c<34>6<13><08> <0A>- C<0F> <13>- C<00>B<>_/2<><32>B[W0$<13><18><>44c<34>/$<24>(<28>?<3F> <13>- C<00>%*<00><>O__dT8<13>@<08>/b<>m<> <13>- C<00>(<28>1<>6c<36><03><> '<00><> &<26>- <0C><><00>N__d<05>4<13>6<><36><03><> &<26>- <0C><><00>N__d<05>*<13> F?<05>%\<5C>/u<><00><><03><>%*%<25> <04><>6<><36>2<> Ĝ|<7C> I<00><> O<00><>B<>_<05>2<><32>B[W<05>$<24><>6<><36><03><> <0A>- C<0F> <13>- C<0F>B<>_<05>2<><32>B[W<05>$<24><>(<28><05>4c<34>/<15><00><><03><>%*W<>6<>
<03><> FLB<><42>,.=<3D>O__s,A<>/<00><><02><>%*<00><>@<40><><00><00><><00><><17><>/{<7B> <0B><1E>%*h<>%9<>%+@<40><>j/<2F>5<> <0B>/<2F><>C<>M<>%*h<>@5<>K^<5E>d<>C<><00><01>LI+TJ<00><01>(<28><00><01>I+:~6~<00><01>IG2c~[~m<>J+<00>~<00>~mx<6D>J+<00>~<00>~<00>fpsJ"+@67<>0<00>J8L<1E><0E>0<00><00>0<>JM2Q0R:7<>0<00>JPMV<><0E>0<00><00>0<>JM2Q0R:7<>0KpN<0F><><0E>0<00><00>0KM2Q0R:-<2D>JZ<><00><>P0Q0RtSuH<>J(<28>-<2D>Jf<><00><>P0Q0-<2D>JZ<><00>P0Q0R
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
S
<EFBFBD>}--<2D>Jr<><1E>P0Q0RZH<>J(<28><00>} <00><>,<01>9<EFBFBD><00>D){m<08><><00><00>m<><08><>#<23>!<21>m<>8 w<>C<>;<3B><00>mat> ź<00><><00><>mE?<08>.ˀǀ<00><00><><00>mat!ź<00><><00><>7<><37>ȠP'<14><0E><><1A><18><17><> PuQxR4Y<><59><00><><00><>$,<2C><>$<24>4<>2<><17>.2<EFBFBD><00><><00><><05>)m<>`<60>T<><54>.<2E><><00><><00><><05>7<17><><17><>Y<13><00><><00><>$7<><37>N<>A<>.\<5C><00><><00><>K<17><><17><>T<><54>.<08><00><><00><>51<>(<28>9m<39><00><><00><>U!p<><17><>T<><54>U<><55><00><><00><><05><17><>T<><54>U<><55><00><><00><><05>C<17><><17><>.<2E><><00><> <00><>U.<17><>Y<><59><00><><00><>)9 <0C>$<24>N<>L<><17>.2<EFBFBD><00><><00><><05>)m<>`<60>T<><54>.<2E><><00><><00><><05>7<17><><17><>7<><37><00><>x)Bo<42><17><><00>xS<><53><00><>x<05><17><><00>xU9<55><00><><00><><05>CY<>P<>7<><37><00><><00>*<1D><><0E><>j<>f<><17><>0<08>c<>Pu7:<3A><10><00>+<18>Q<>H<><00><><00><>S^<5E><10><00>q z<><00><><00><>_<><5F><1C><00>O<13><><0E><>,<2C>(<28><0E><>d<>L<>_<><5F><1C><00><07>N<><0E><>C<>A<>H<00> `<1C>$<24><07>13<>Z<>V<>*<2A>~<7E>z<>.<1C><00><><00><>8h3<><00><><00><>*<2A><00><><00><>-<2D><>@<40><00><>PvPvQ:9<><39><<3C><<3C>O<06><0E><>ɃǃH@<40>o<>0<<3C>{<7B>Pw7<><37>\<5C>(.V<><0E><>ރ܃<17><>0`<60> PuR97<><37>l<>@0N<30><4E><0E><><00><><00><><17><>0|<7C>c<>Pu7:<3A><00><>X1<17><>Q<>H<><18><10>S^<5E><00><>Xq z<>T<>L<>_<><5F><00><>xO<13><><0E><><00><><00><><0E><><00><><00><>9<><39><00><><00><><07>0<><0E><>T<>R<>`<1C><00><><00><07>13<>k<>g<>*<2A><00><><00><>.<1C>ܢܢ@h3<><00><><00><>*<2A>օ҅-<2D><>@<40><00><>P<04><>d<14>Q:9<><39><00><><00><>O<13><><0E><><00><><00><>H<><48>o<>0<><30>{<7B>Py<><7F><00><>3*<2A><17><><17><> PuR67<><37><00><><00>3+p<><0E><> <0A> <0B><0E><>)<29>%<25>0<><30> PyR17:<3A><00><><00>3D<33><44>Q<>H<>O<>G<>S^<5E><00><><00>q z<><00><><00><>_<><5F><08><00>O<13><><0E><>Æ<00><><0E><><00><><00><>9<><39><08><08><07><11><0E><><<3C>:<3A>`<1C><10><00><07>13<>S<>O<>*<2A>y<>s<>.<1C><1C><1C>@h3<><00><><00><>*<2A><00><><00><>-(<28>@<40><00><>P<04><>dT<64>Q:9<><39>(<28>(<28>O<13><><0E><><00><>އH,<2C>o<>0(<28>{<7B>Py7d<37>,<2C>5(<28>w<><00><><00><><00><01><>(<17><00><01><><19><15>0`<60><00><>Pt-<2D><>~<7E>E<>P0Q0R0-<2D><><00><>Y<>P{-<2D><><00><>m<>P{-H<><00><><00><>P{-l<><00><><00><>P0Q0<00><><00><>Pu-<2D><><00><><00><>Py0l<30>r<>P0Q0RZY<><59>X<>X<> -W<>$<24>:<3A>8<><17>.2<EFBFBD>X<>X<><05>)m<>`<60>TX<54>.<2E><>l<>l<><05>7<17><><17><>Y<><59>l<>l<> 87<38><17><><17><>Tl<54>.<08>l<>l<>51<>(<28>9m<39>l<>l<>U!<17><17><>Tl<54>U<><55>l<>l<><05><17><>Tl<54>U<><55>l<>l<><05>C<17><><17><>.<2E><>l<>l<>U.<17><><><7F><00><>7k<><17><><17><>0У PuRK7:<3A>УH76<37><36>Q<>H<>S^<5E>УHq z<>_<><5F><00><>`Oz<><0E><>V<>R<><17><>9<><39><00><><00><><07><1D><><0E><>x<>v<>`<1C><00><>x<07>13<><00><><00><>*<2A><00><><00><>.<1C><00><><00><>8h3<>ӈш*<2A><00><><00><>-<2D><>@<40>f<>Ptd <20>PtQ:9<><39><04><04>O<13><><0E><><00><><00><>H<08>o<>0<04>{<7B>Pu7<><37>d<><00>?Z<><0E><><13><11><0E><>(<28>&<26>7 <0C>h<><00>G59<35><1D>E<>;<3B><1D>E<>;<3B>2<><00><><00><>&<26><00><><00><>S<><53>d<><00>G-<0E><><00><><00><>75<37>h<><00>?<07>C<>ԉ҉`<60><>h<><00> <09><0E><><00><><00><>Ss<53>h<><00> <09><0E><><00><><00><>UZ<55>h<> h<> `Ah<><13><11>U<><55>h<>
h<> <0B><0E><>(<28>&<26>Y<><59>t<>t<>?-<01> <0B>=<3D>;<3B>9Z<39>x<>x<> 8W<>h<>U<>S<>9 <20>x<>x<> 7<0F><><<3C>m<>k<>H<><00><><00><>T<><00><><00><>.r<>x<>x<> :<0E><>ъϊ9 <09>x<>x<> <02><><17><00><><00><>-<2D>!<21><1F> <20>?<3F>=<3D>Tx<54> .<2E><><00><><00><> 0<0E><>T<>R<><14>l<>j<><07><00><><00><>.z<><00><><00><><0E> <0E><><00><><00><><0E><><00><><00><><0E><>ՋӋH<><48><00><>.<2E><><00><><00><> <0E><><00><><00><>U;<3B><00><><00><> XI<><02><00>U"<22><00><><00><> <0B>0<><1A><18>Y<><59><00><><00><>?-)<29><0E><>2<>0<>Y?<3F><00><><00><>?-a<>Q<>I<>G<>0<><30>}_Px7<><37><00><>B<10><><0E><>^<5E>\<5C><17><>7:<3A><00><>(B$<24><>Q<>H<>S^<5E><00><>(q z<>_<><5F><00><>@O<13><><0E><>z<>v<><17><>9<><39><00><><00><><07><13><0E><><00><><00><>`<1C><00><>X<07>13<><00><><00><>*<2A>׌ӌ.<1C>d<>d<>8h3<><00><><00><>*<2A> <0A> <0B>-l<>@<40><00><>Pxd<><64>PxQ:9<><39>ؤؤO<13><><0E><>"<22> <20>o<>{<7B>Pu7d<37>ܤpC.<2E>w<>9<>5<><00><01><><00><1D><00><01><>[<5B>W<>0<><30><00><>Pt<><7F><00><>Ab<><17><><17><>0<><30> PxR67:<3A><00><><00>A#<23><>Q<>H<>S^<5E><00><><00>q z<>_<><5F>ȥ<00>Oq<><0E><>~<7E>z<><17><>9<><39>ȥȥ<07><1D><><0E><><00><><00><>`<1C>Х<00><07>13<><00><><00><>*<2A>ۍ׍.<1C><00><><00><>8h3<><00><><00><>*<2A><11><0F>-<2D><>@<40>]<5D>Pzd<><64>PzQ:9<><39><00><><00><>O<13><><0E><>&<26>$<24>H<><48>o<>0<><30>{<7B>Px<><7F>(<28>;<12><><17><><17><>0D<30> PxRK7:<3A>D<><00>;8<<3C>Q<>H<>S^<5E>D<><00>q z<>_<><5F>T<>O<13><><0E><>=<3D>9<><17><>9<><39>T<>T<><07>r<><0E><>_<>]<5D>`<1C>\<5C> <07>13<>v<>r<>*<2A><00><><00><>.<1C><00><><00><>8h3<><00><><00><>*<2A>ЎΎ-<2D><>@<40><00><>Ptd<><64>PtQ:9<><39>t<>t<>O*<2A><0E><><00><><00><>Hx<48>o<>0t<30>{<7B>PxY<><59><00><00>?-6<> <0B><00><><00><>9Z<39><04><04> 8<1C><>h<><12><10>9 <20><04><04> 7<0F><><<3C>*<2A>(<28>H<>?<3F>=<3D>T<>V<>T<>.r<><04><04> :<0E><>n<>l<>9 <09><04><04> <02><><17><00><><00><>-<2D><00><><00><> <20><00><><00><>T<04> .<2E><> <0C> <0C> 0<0E><>яϏ<14><00><><00><><07><07><05>.z<> <0C> <0C><0E> <0E><><1C><1A><0E><>4<>2<><0E><>R<>P<>H<10><00><>.<2E><><10><10> <0E><>g<>e<>U;<3B><10><10> XI<><>}<7D>U"<22><10><10> <0B>0<><00><><00><>Y?<3F><10><10> ?-n<>Q<><00><><00><>0<18>}_Px- <0C><00><><00><>P0Q0R0-<14><00><><00><>Px-(<28><00><><00><>Px-T<><00><><00><>P{-<18>~<7E><00><>P0Q0R1<00><<3C><00><>Px-p<><03><16>PxQ<02>@R<03><>-<2D><> /<2F>PuR9H<1C><00><>/*<2A>P<>g<> <13>-%*<0E>B<>OM-<2D><>@9<><00>R<00><><00><> <13>-P<>Y<>/o<><00><><03><>%*<00><>/Z<><00><><02><> <13>-%*<00><>B<>OM-<2D><>@<40><><00><00><><00><> <13>-<17><><17><>/<2F><><05><1C>%*<00><>O__c< -/<12>*<2A>A<>%*<00><>O__ch -6<>
d<>N__a,<2C><1A><>N__b,<2C>,<2C><><00>،<08>w<><03><>%*˺<00><01>i<08> +~(<28>z<08><><02><>%*̹%9<>%+@<40><><00><00><><00><><17><>~<7E>yG<08><><02><>%*̹NmG,ѹ@<40><><00> <01> <0C><17><><17><>~v<>; <1D>?<3F>%*̹M<><4D>;#+Ma ;7g0<00><01>X<00>Q<>d<>%*<00><>%9<>%+@?<3F>4u<>{<7B>Q<><00>%Xi<01><><02><>%*<00><>Osi<1C>/<00><01>lenm *+<00>{<7B><00><><1C>H<01><><EFBFBD><0E><>Ɛ<0E><><00><><00><><00><01><><00><><00><01><><00><01><><0F><00><01><>.{<7B>8<>8<>$i<0E><>
<EFBFBD><06><0E><>,<2C>(<28><00><01><>8<>$<00><01><>P<>J<>-@<40><00><>p<>Pu-P<>Y_<00><>PtQv0\<5C><00><>QuRv6<>L<03><>O__s<VO6<>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<03><>
 -N__s<06>'<27>/6<> <03><>N__p<06>tO<00>__i<06><13>M6V "<22>M:<3A>dnOM?<3F>d2nO<00><01><><00>z<00>g<01>P<EFBFBD><05>}<7D>y<><00><0E>Q<00>UUG<><47><00><>qG e eqG<><47><00><>qAG L LqYG<>w<00>wqQG<>Y<00><>|G<><00>qH<18><01><><00><><00><01><><00><>I<><0F><01><><00><>II4.?: ;9 nI<d.?: ;9 nI2 <d I( 4nG1<17>B : ;9 I?< l
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
 I &I : ; 9 I : ; 9 I8 .?: ; 9 nI2 <d: ; 9 /I/I.?: ; 9 nI<dI41.?: ;9 n2 <d : ;9 I8<17><><18>BI : ;9 I8  : ; 9 .Gd : ;9  : ;9 .?: ;9 nI2 <d: ;9 I .?: ;9 nI<!.?: ;9 nI<".?: ;9 n<d#($: ; 9 I2 %: ;9 I&.G ': ;9 I2 (.?: ; 9 nI<)*.1nd+,.?: ;9 I<-: ;9 I.: ; 9 I/<2F><>10 : ; 9 1<2B I31R<01>BUX Y W 41R<01>BX Y W 5I8 6.?: ;9 nI<7<><37>181R<01>BX YW 9.?: ; 9 n2 <d:.?: ; 9 nI<<19>d;1R<01>BUX YW <.?: ; 9 nI<=.?: ;9 nI<<19> d> : ; 9 I8?.?: ;9 nI<<19>d@1R<01>BX YW A1R<01>BUX YW B<><42>1C0I DI8 2 E.?: ; 9 I<F41<17>BG : ;9 I8 2 H.?: ; 9 nI<<19> dI1R<01>BUX Y W J.?<n: ; 9 K0I L : ;9 I?<l M.?: ;9 nI2 <cdN5IO: ; 9 IP/IQ : ; 9 I?<R : ; 9 I8 S : ;9 T/IU$ > V4: ;9 IW.?: ; 9 n<dX4: ; 9 I?<Y : ; 9 IZI[ U\1R<01>BX Y W ]1R<01>BX YW ^.?: ;9 n<_!I/ `Ia b.?: ;9 nI2 <c4: ; 9 I?d : ;9 I8 2 e f4: ; 9 Ig.?: ; 9 nI2 <dh : ; 9 I?2 < l i : ; 9 I<13> 8 2 j.G: ;9 d k : ; 9 I?<l l : ; 9 I?< l m.?: ; 9 nI<n<o.?: ; 9 nI2 <<19> dp : ;9 I?2 < q<><71>r<><72>s4nG t : ;9 I8 u<><75>v.?: ; 9 nI2 <dw> I: ; 9 x.?: ;9 nI<y.?: ; 9 nI<dz.?: ; 9 n<{<7B><>|: ; 9 I<17>B}:: ;9 ~ : ;9 I?< l  : ; 9 n<00>.?<n<00><<00>/I<00>.?: ; 9 nI2 <<19>d<00>.?: ;9 nI2 <<00> : ; 9 I<00><01><><00>.G: ; 9 d <00>4: ; 9 nI?<<00>.: ; 9 I<<00>4G<00>> I: ; 9 n<00>41<00> 1U<00>4: ;9 I<00>.1d<00>: ;9 I<17>B<00> : ; 9 <00>.?: ; 9 n<d<00>.?: ;9 nI<cd<00>4: ;9 I?<<00>.?: ;9 nI2 <<00>.?: ;9 I@<18>B<00>4: ; 9 I<00>.?: ; 9 nI2 <cd<00>.?: ; 9 nI<c<19> d<00>9: ; 9 <00> : ;9 I?< l <00> : ;9 I?<l <00><01><><00>.?: ;9 <<00> : ; 9 I8 2 <00>> I: ;9 <00> U<00>4: ;9 I<17>B<00>: ;9 I<17>B<00> : ; 9 <00>4: ; 9 nI?<
l <00>9: ;9 <0B><00> : ; 9 I8 2 <00>.?: ;9 nI<<00>.: ; 9 I<d<00>.: ;9 I<<00> : ; 9 n<00> : ;9 I<00><01><><01>B<00>4I4<00>> I: ; 9 <00> I8 <00>9: ;9 <00>( <00> : ;9 I?<l <00> : ; 9 I?2 <l <00>.?: ;9 nI2 <<19> d<00>.?: ;9 nI<d<00> : ;9 I?<l <00>0I<00>.I4<d<00>.?: ;9 nI2 <<19>d<00>.: ;9 I<d<00>.?: ; 9 nI2 <<00>(<00>4nG<00> : ; 9 I8<00>.?: ; 9 <<00>.1nd@<18>B<00><01><>: ; 9 <00>.G@<18>B<00>4: ; 9 I<00>.?nI4<d<00>.?: ; 9 nI<cd<00>9: ; 9 <00>: ;9 I<00>0I <00> : ;9 I?<l <00>0I<00>.: ;9 I2 <d<00>9: ;9 <00> : ; 9 <00>.?: ; 9 I<<00>.?: ;9 nI2 <<00>.?: ;9 nI2 <cd<00>4nG<00> : ; 9 <00> 1U<00> 1<00>41<00>4: ; 9 I<17>B<00>9: ;9 <0B><00>.?: ;9 nIL 2 <d<00> : ;9 <00>4: ;9 nI?<
l <00>.?: ;9 n2 <<00>m> I: ; 9 <00> : ;9 I?<<00>.?: ; 9 nIL 2 <d<00>.?<n: ;9 <00>0I<00> : ;9 I?2 <<00>4: ;9 nI?<<00>.: ; 9 <d<00><01><>: ; 9 <00>0I <00>.?nI4<d<00>.: ; 9 I<<19> d<00>.: ;9 I<cd<00>.: ;9 2 <d<00>.: ;9 I2 <<19> d<00> : ;9 I?2 <<00>.: ; 9 <<00>/<00> : ;9 I<13> 8 <00>:: ; 9 <00>.?: ;9 I<<00>.?: ;9 I<<00>!<00>> I: ;9 2 <00>4nG <00>.1d@<18>B<00>.G: ;9 d<00>.Gd<00> 1<00><01><>: ;9 <00>4: ;9 I<00>.?: ;9 @<18>B<00> <00>1X YW <00>: ; 9 I<00> <00>4: ; 9 I<00>.: ;9 I <00>.1n@<18>B<00>% U<00>$ > <00>9: ; <00> : ; 9 I?2 <<00>.?nIL 42 <d<00>.?: ;9 nI<c<19> d<00>9: ;9 <0B><00>.?: ; 9 n<0E><<00>m> I: ; 9 <00>.?: ; 9 n<<00>.?: ; 9 nI<d<00>.?: ;9 n<d<00> : ;9 2 <00>.?<n: ; 9 <00>.?: ;9 nIL M2 <d<00>9: ;9 <0B><00> : ;9 <00>0I<00>.?: ; 9 nI2 <<19>d<00> : ; 9 2 <00>.?: ; 9 nI2 <cd<00>.?: ; 9 nI2 <<00><<00> : ; 9 <00>.: ; 9 L M<d<00>.IL 4<d<00>.: ;9 I2 <<00>.: ; 9 I2 <cd<00>4: ; 9 nI?<<00>4: ; 9 I<<00>.: ;9 I<<19> d<00><02><><00>> I: ; 9 <00>.?: ;9 n<<00>.?: ; 9 nI<<00>4: ; 9 I< <00> <0B> : ;9 n<00>: ;9 I<13> <00>;<00> <00>&<00><00>.?: ;9 <0B><<00> : ; <00> I8 4<00> : ; 9 <00>: ; 9 <00>9: ; 9 <00>.?: ; 9 n2 <d<00> : ;9 <00>9: ;9 <00>.?: ;9 n2 <d<00>.?: ;9 nI2 <d<00> : ;9 2 <00> : ;9 <00>4G<00> : ; 9 <00> : ; 9 <00> : ; 9 I 8 <00>9<00>.?: ; 9 <<00>4I?4<<00>.4@<18>B<00>1 <00>1<00><02><><01>B1<00>.Gd@<18>B<00>I4<17>B<00> 1<00>.4 <00>.G: ; 9 d<00><02><>: ;9 <00>4: ;9 I<00>4: ;9 I<17>B<00>4: ;9 Il<00>.?: ;9 I@<18>B<00>: ;9 I<00>1UX YW <00>.G@<18>B<00>.4d <00>: ; 9 I<00>4: ; 9 I<17>B<00>.: ; 9 I <00>1<00><02><><01>B1% $ > : ; 9 I$ >   I&I' I
'I > I: ; 9  (  : ; 9  : ; 9 I8 I!I/ 4: ; 9 I?< : ; 9  : ; 9 I I8  : ; 9 4: ;9 I?< : ; 9 I8 > I: ; 9  : ; 9 I 8 !(<: ; 9  : ; 9  : ; 9 I8 : ; 9 I8!7I".?: ;9 'I@<18>B#: ;9 I<17>B$4: ;9 I<17>B%4I4&<26><>1'<27><><18>B(<28><>1).?: ;9 '@<18>B*1R<01>B X YW +1<17>B, -41.1R<01>B UX YW / U0<><30><01>B11<><31>12<><32>34: ;9 I<17>B4
: ;9 51641<17>B718
: ;9 9.: ;9 ' :: ;9 I;: ;9 I<4: ;9 I=.: ; 9 'I@<18>B>: ; 9 I<17>B?4: ; 9 I<17>B@4: ; 9 I<17>BA
: ; 9 B1UX Y W C1R<01>B UX Y W D
1E1R<01>B X Y W F.: ; 9 'I G: ; 9 IH4: ; 9 II: ; 9 IJ.: ; 9 ' K4: ;9 IL4I4M.: ;9 'I N.1@<18>BO<><4F><01>B1P.?<n: ; 9 Q.?<n: ;9 R.?<n: ; S6% $ > : ; 9 I$ > &I  I' I
'I  : ; 9  : ; 9 I8 I!I/ 4: ; 9 I?< : ; 9  : ; 9 I I8  : ; 9 4: ;9 I?< : ; 9 I8 > I: ; 9 (  : ; 9 I 8 > I: ; 9 (!(<: ; 9  : ; 9  : ; 9 I8! : ; 9 I8"7I#4G: ; 9 $.?: ;9 'I@<18>B%: ;9 I<17>B&4: ;9 I'4: ;9 I<17>B(4: ;9 I)4I4*
: ;9 +<2B><>1,<2C><><18>B-<2D><>1.<2E><>1/!I/0: ;9 I<17>B14: ;9 I 2.?: ;9 '@<18>B3 4: ;9 I5.?: ;9 'I6: ;9 I7.?: ;9 'I 84: ;9 I<17>B9
: ;9 :.?: ; 9 'I@<18>B;: ; 9 I<17>B<4: ; 9 I<17>B=4: ; 9 I<17>B>4: ; 9 I?
: ; 9 @.: ; 9 'I@<18>BA
: ; 9 B<><42>C.?: ; 9 '@<18>BD4: ; 9 I E
: ; 9 F<><46><01>B1G.1@<18>BH1<17>BI.?<n: ;9 J.?<n: ; 9 % $ > $ > &I: ; 9 I  I : ; 9  : ; 9 I8
: ; 9 < I !I/ 4: ; 9 I?<!4: ;9 I?<> I: ; 9 (  : ; 9  : ; 9 I 8 > I: ; 9 ( : ; 9 I8  : ; 9  : ; 9 I: ;9 I : ;9  : ;9 I8  : ;9 I8 > I: ;9  : ;9  : ;9 I8! : ; 9 " : ; 9 I8#.?: ;9 '@<18>B$: ;9 I<17>B% &4: ;9 I<17>B' (<28><>1)<29><><18>B*<2A><>1+<2B><>1,<2C><><01>B1-4: ;9 I.1R<01>B UX YW / U04111<17>B2.: ;9 ' 3: ;9 I44: ;9 I5.: ;9 'I 6.?: ;9 'I@<18>B7<><37><01>B18: ;9 I9: ;9 I:.?: ;9 'I ;4: ;9 I<: ;9 I<17>B=4: ;9 I<17>B>: ;9 I?4: ;9 I@ A.?: ; 9 'I B: ; 9 IC4: ; 9 ID4: ; 9 IE.?: ; 9 'I@<18>BF: ; 9 I<17>BG4: ; 9 I<17>BH4: ; 9 II4I4J.?: ; 9 '@<18>BK.1@<18>BL41 M1R<01>B X Y W N41O1R<01>B X YW P1R<01>B UX YW Q.?<n: ; 9 R.?<n: ;9 S.?<n: ; % $ > : ; 9 I$ >   I&I : ; 9  : ; 9 I8
: ; 9 < I !I/ 4: ; 9 I?<!4: ;9 I?<> I: ; 9 (  : ; 9  : ; 9 I 8 > I: ; 9 ( : ; 9 I8  : ; 9  : ; 9 I.?: ; 9 'I@<18>B: ; 9 I<17>B<1C><>1<1D><><18>B<1E><>1.?: ; 9 '@<18>B <20><><01>B1!.?<n: ; 9 % $ > : ; 9 I$ >   I&I: ;9 I '
I 'I  : ; 9  : ; 9 I8 I!I/ 4: ; 9 I?< : ; 9  : ; 9 I I8  : ; 9 4: ;9 I?< : ; 9 I8 > I: ; 9 (  : ; 9 I 8 > I: ; 9 (!<(: ; 9  : ; 9 ! : ; 9 I8" : ; 9 I8#4: ; 9 I$4: ; 9 I?%.?: ;9 'I@<18>B&: ;9 I<17>B'4I4(<28><>1)<29><><18>B*.: ; 9 'I@<18>B+: ; 9 I<17>B,4: ; 9 I<17>B-4: ; 9 I. /4: ; 9 I0<><30>11<><31>12<><32>3<><33><01>B4.: ; 9 'I@<18>B54: ; 9 I<17>B6
: ; 9 7 U81R<01>B UX Y W 91<17>B: U;.: ; 9 'I <: ; 9 I=: ; 9 I>.?: ; 9 'I@<18>B?: ; 9 I<17>B@.?<n: ; 9 A.?<n: ;9 B.?<n: ; II4.?: ;9 nI2 <d4nG : ;9 I?< l : ; 9 .?: ; 9 nI2 <d I  I
&I : ; 9 I /I .?: ;9 n2 <d1<17>B.?: ;9 nI<.?: ;9 nI2 <d.?: ;9 nI<d/I.?: ; 9 nI<d : ; 9 I8 <15><><18>B.?: ;9 nI<1: ;9 I : ;9 : ; 9 I2  : ; 9  : ;9 I8 : ;9 I2 .?: ;9 I<.?: ;9 nI< : ;9 !.?: ; 9 nI<"<#.?: ; 9 nI<$.?: ; 9 I<%I4&.?: ; 9 n2 <d' : ;9 I8 2 ( : ; 9 )B I* : ; 9 I?<+I8 ,.?: ;9 n<d-<2D><>1.1R<01>BX YW /.Gd 0<><30>11$ > 2 : ;9 I?<l 3( 44: ; 9 I?<5.?: ;9 nI2 <cd6.G 71R<01>BUX Y W 8 : ;9 91R<01>BX YW :/I;I8 2 <.?: ;9 n<=0I > : ; 9 I?<l ?.?: ;9 nI2 <@.1ndA : ;9 I8 2 B: ;9 IC.?: ; 9 nI<D4nG E.?: ; 9 n<dF : ; 9 I?< l G.?<n: ; 9 H<><48>1I.?: ;9 nI<J.?: ; 9 nI2 <dK0I LIM: ; 9 IN: ; 9 IO: ;9 IP.?: ;9 nI<<19> dQ : ;9 I?< l R.?: ; 9 n<S1R<01>BUX Y W T U1R<01>BX Y W V:: ;9 W!I/ X : ;9 I8 Y1R<01>BX Y W Z.?: ; 9 nI2 <d[ : ;9 I?2 < \.?: ;9 nI2 <]4: ; 9 nI?<^.?: ; 9 nI2 <<19> d_1R<01>BUX YW `1R<01>BUX YW a<b4: ;9 I?<c.?: ;9 nI2 <d<><64>e : ; 9 f9: ; 9 g : ;9 I?< l h.?: ;9 nI<cdi.?: ;9 <jk : ; 9 I8 2 l4nGm4: ; 9 I<17>Bn> I: ; 9 o9: ;9 <0B>p.?: ; 9 n<dq : ;9 I?<l r4GsIt<u : ;9 Iv : ; 9 Iw9: ;9 x : ;9 I?<l y : ; 9 I?2 <l z : ;9 I?<l {0I| : ; 9 n}.?: ; 9 nI2 <~.G: ; 9 d 1X Y W <00>.?: ; 9 nI<c<19> d<00>9: ; 9 <00>.?: ; 9 nI2 <cd<00>( <00> : ; 9 I8 2 <00>(<00>0I <00> : ;9 I?<l <00>0I<00>0I<00> : ; 9 I8 <00>.?: ; 9 I<<00>.?: ;9 nI2 <<00>.?: ;9 nI2 <cd<00><00>4nG<00>4: ; 9 I<17>B<00> 1U<00>41<17>B<00>.?<n<00>9: ;9 <0B><00> : ; 9 <00>.?: ; 9 nI<cd<00>4: ; 9 nI?<
l <00>4: ;9 nI?<
l <00>.?: ;9 nI2 <<19> d<00>.?: ;9 n2 <<00>.?: ;9 nI<d<00> : ;9 I?<<00>.?<n: ;9 <00>.?: ;9 nI<<00>: ;9 I<00>0I<00> : ;9 I?2 <<00> : ;9 I?2 <<00>9: ;9 <00> : ;9 I<13> 8 <00>:: ; 9 <00>.?: ;9 I<<00>.?: ;9 I<<00>!<00>4nG <00><01><><00>: ; 9 I<17>B<00> U<00> <00>4: ;9 I<00>.G;9 d <00>41<00>% U<00>9: ; <00> : ; 9 I?2 <<00> I8 <00>.?: ;9 nI<c<19> d<00>9: ;9 <0B><00>.?: ; 9 n<0E><<00>m> I: ; 9 <00>.?: ; 9 n<<00>.?: ; 9 nI<d<00>.?nI4<d<00>.?: ;9 n<d<00> : ;9 2 <00>.?<n: ; 9 <00>.?: ;9 nIL M2 <d<00>9: ;9 <0B><00> : ;9 <00>4: ; 9 nI?<<00>4: ; 9 I<<00> : ;9 <00>.: ; 9 I<<00>.?: ; 9 nI<<00>4: ; 9 I< <00>$ > <00> <0B> : ;9 n<00>: ;9 I<13> <00>;<00> <00>&<00><00>.?: ;9 I <00>.?: ;9 <0B><<00> : ; <00> I8 4<00> : ; 9 <00>: ; 9 <00>9: ; 9 <00>.?: ; 9 n2 <d<00> : ;9 <00>9: ;9 <00>.?: ;9 n2 <d<00>> I: ;9 <00>.?: ;9 nI2 <d<00> : ;9 2 <00> : ;9 <00>4G<00> : ; 9 <00> : ; 9 I 8 <00>4I?4<<00>.4@<18>B<00>1<00>1 <00><01><><01>B1<00>.4 <00>.?: ; 9 I@<18>B<00>.?: ; 9 n@<18>B<00> U<00>.G: ;9 d <00>.1nd@<18>B<00> 1<00> 1<00>4: ; 9 I<00>.1n@<18>B<00>1<00>3<00> <01> /usr/include/c++/8/bits/usr/include/c++/8/ext/usr/include/c++/8/usr/include/arm-linux-gnueabihf/c++/8/bits/usr/include/opencv2/core/usr/include/c++/8/debug/usr/lib/gcc/arm-linux-gnueabihf/8/include/usr/include/arm-linux-gnueabihf/bits/usr/include/usr/include/opencv2/core/hal/usr/include/arm-linux-gnueabihf/bits/types/usr/lib/jvm/java-11-openjdk-armhf/include/linux/usr/lib/jvm/java-11-openjdk-armhf/include/opt/vc/include/interface/vcos/opt/vc/include/interface/vcos/pthreads/opt/vc/include/interface/mmal/opt/vc/include/EGL/../KHR/opt/vc/include/EGL/opt/vc/include/interface/vctypes/opt/vc/include/interface/vmcs_host/opt/vc/include/GLES/opt/vc/include/interface/mmal/util/opt/vc/include/interface/vcsm/opt/vc/includelocale_facets.hstl_vector.hstl_construct.halloc_traits.hnew_allocator.hallocator.harraythreadPicamJNI.cpptuplemove.hunique_ptr.hmutexstd_mutex.hgthr-default.hstl_algobase.hmat.inl.hppinvoke.halloc_traits.hstl_iterator.hstl_uninitialized.hvector.tccchar_traits.hostreamsstreambasic_string.hbasic_ios.hchronoiostreamstringfwd.hcstddefcstdinttype_traitsstl_pair.hutilitystl_iterator_base_types.hdebug.hcstdlibc++config.halgorithmfwd.hexception_ptr.hnewlimitscstringcwcharclocalestring_viewcomplexcstdioinitializer_listcmathstd_abs.hstl_bvector.hios_base.hcwctypeostream.tccstreambufistreamctimeratiouses_allocator.hshared_ptr_base.hcondition_variableatomic_base.hatomicerror_constants.hfutureiosfwdparse_numbers.huniform_int_dist.hptr_traits.hcpp_type_traits.hstl_function.hfunctexcept.hostream_insert.hexceptionpredefined_ops.hnumeric_traits.hconcurrence.hstddef.htypes.hstdint-intn.hstdint-uintn.hstdint.h interface.h
stdlib.h clock_t.h time_t.h struct_timespec.h thread-shared-types.hpthreadtypes.hstdlib-float.hstdlib-bsearch.hstring.h stdarg.h<built-in>wint_t.h __mbstate_t.h mbstate_t.h __FILE.h struct_FILE.h FILE.h wchar.h struct_tm.h locale.h time.h atomic_word.h__fpos64_t.h stdio.h sys_errlist.hstdio.herrno.h math.h cvstd.hpppersistence.hppbase.hppmatx.hpptypes.hppmat.hpputility.hppmath-finite.htypes_c.hwctype-wchar.hwctype.h stdlib.hjni_md.h jni.h vcos_types.hsemaphore.hunistd.h confname.hgetopt_core.hsignal.h vcos_platform.hvcos_logging.hmmal_common.hmmal_types.hmmal_format.hmmal_buffer.hmmal_parameters_common.hmmal_parameters_camera.hmmal_parameters_video.hmmal_clock.hmmal_parameters.hmmal_port.hmmal_component.hmmal_queue.hmmal_pool.hRaspiCamControl.hkhrplatform.heglplatform.hvc_image_types.hvc_dispservice_x_defs.hvc_dispmanx_types.hegl.heglext.hgl.hRaspiTex.hvc_hdmi.hvc_sdtv.hvc_cecservice_defs.hmmal_connection.hbasic_string.tccuser-vcsm.hmmal_util_params.hRaspiHelpers.hbcm_host.h<02>g<03> .<02>g<03>.0<03>}.^<03><03>J<03>} .[3K<03> h<03>.<03>J<03>|3K<03><03>}.^<03><03><03>}<03><03>~J.[3K JJf<02>L<03>J<>fJfJ /<06>/<03>J\
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
*3. /6
*J. /6.
*J.<2E>.!MJ x<03>
<03> <03>{
<03> <03>}
: F
*;.<03>
*<03>..<03>
*<03>..E; /)E3 /)E3.q. <03>
*<03>. /
E1. <03>.<03>
<03><03>}l <03>}
: F
*; ,.
*0 ,
*0. <03>C
<03><03>z<03><03>}.  n <03><01><03> <03>.<03>J<03>}f <03> <03>J<03><03><03>~ <03>f<03>J<03><03><03>~f. <03><03> <03>.<03>J<03>}f +<03><01> <03><03>| +<03><03>. +<03>|.%<03>~. +<03>.%<03>~.<03>.%<03>z.<03>.%<03>z.<03>.<03>|<03>/)J<03>zJ <03><03>|<03><03>{<03>K+ <03>{.+<03>..<03>z. 1LN<03> <03><03>|<03><03>| 1v.<03>J 1<03>|.<03>Jg)J.<03>zJ <03><03>. <03>{. <03>J<03>|<03><03>{<03>/+ <03>{J+<03>..<03>z. 7<02>N<03> <03><03>|<03><03>| 7.<03>J 7<03>|.<03>Jg)J.<03>zJ <03><03>fSn <01>J <03><03>fSn <01> <03><03>|<03><03>{<03>K+ <03>{J+<03>..<03>z.HO<03>6Jw<03>~b <03><03>.<03>{. -z. <03>.<03>|%<03>..<03>{%<03>.<03>.%<03>z.<03>J%<03>z.<03>J<03>|<03>/).<03>z<06> <03>y<03>~)<13><03><03>2J<03>{<03>~<03><03>}L<03><03>~"L<03>p.<03>.<03>}) <03>J<03>.)<03>~..K<03><03>F:<03>{2<03>~ p<03>fSn
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
./. <03>~*(.1.<03>.J <03>-L-,(I/... /<07>..<2E>M <03><03>|<03><03>|<03>g)f<03>zJ <03>*j".3<03>. <03>.8J<03>{.  <03>|J0<03>3 <03>J<>3<03>}<03><07>9. H..6.<03>x<03>3<03>} <03>J.<03><03>| J .J <0B>. .0,/g J-..J<03>.V,// +Hf JV/H-0,%.4C3L 0 /. KL h<03><03>.<03><03>z<03>. /<03><03>.<03><03> , Ku.n. / +K(: K<03>z<03><03> /. <03>},0 <09> $E f. <06> E/-E/ .- /E -E/- /- /E -E/- /- /E -E/- /- /E -E/- /- /E -E/- /- /E -E/- /- /E -E/- /- /E -E/- /- /E -E/- /- /E -E/- /- /E -E/- /- /E -E/- /- /E -E/- /- /E -E/- /- E J. <03><03>|<03><03>{<03>g+f <03>{<03>f<03>}^<03><03>J<03>} J[3K <03><03>|<03><03>{<03>g+J<03>{-<03>J - / /f(:<03>z<03><03>.<03>}. <03> <08>"d<03>.3 <03>.- KJ.3<03>} <03>f8.3<03>x.<03>J7..<03>x<03>3<03>} <03><02>.<03><03>| J .J <0B>. . /K,/g J-..J<03>.V,// +Hf JV/H-0,%.4C3L 0 /. KL h<03><03>.<03><03>z<03>. /<03><03>.<03><03> , Ku.n. / +K(: K<03>z<03><03> /.  <03>}- /... / <06>E0+ M+J-<03> - / /f(:<03>z<03><03>....  <03>}E J-f<03><03>~<03><03>~<03><03>w<03><03>}) .<03>)<03>~..<03><03>.<03>} ...V.. <03>f<03>{.. 3<03>J <03><03>|<03><03>{<03>g+f<03>~<03>}^<03><03>J<03>} J[3K <03><03>|<03><03>{<03>g+J.... L<03>z<EFBFBD>LJ<10>0L)!5,!0H0!/P#2*JN#gO.k*JMP'+ ./s.)..Nr).r./$2*/$+$1+0/
$v./
f)-//2/F)-?2/$r? .$s<>J1.gM$3%//z.$3%/-+6s.0#O)1#",/#/#0'/(0+/+0#/N!./M<03>J,<03>. <03>|.,<03>. <03>|../<03>,I<> @<03>|g'!<03>J '<03>{J<03>.!J '<03>{<03>f<03>|xj.k<03><03>} .K '<01><03>@.<2E>.<06>C.<2E>mJB.<2E>[JD<01>Q,<03>. <03>|.,<03>. <03>|../<03>,I<> :<03>|g'!<03>J '<03>|J<03>.!J '<03>|<03>f<03>|xj.k<03><03>} .K '-<01>q,<03>. <03>|.,<03>. <03>|../<03>,I<> D<03>|g'!<03>J '<03>{J<03>.!J '<03>{<03>f<03>|xj.k<03><03>} .K ' <03><04><03>|xj.k<03><03>} .K '-Hf...<03>.<03>|x. @df...<03>.<03>|x. :0(:J!L.:!0:,!0<03>.<2E> F<03>}f<03>f F<03>}f<03>. <03>}.<03>f <03>}.<03>~.<03><03>~f<03>|J<03>.K3.<03>}J. <03>}<06>H//<18>*<06>/O ..K!L<01><06>*h<03>J<>.<03>|<03><03>~<7E><03>|J<03>g3.<03>}J. <03>}KN.L .<03>J./֞ K֞ <03>{IJf.<03>~<7E>. <03>?..<02><03>~<7E>. <03>F.<02>s<>B..f.<02>&f/f<03>~<7E> . <03>& 0JFq.<2E>..& .F(FJ/F-Kh (<03>~V<03><03><03><03>~c<03>q<03>~c<03>),k).f)fJ OM<06>M.K1.K/.K1.K/Nvf.
J<06> <03><03>|<03><03>| <03>J<03>. <03>|.<03>J <03>|.<03>. <03>|.<03><03>/)f<03>zJ <03><03>. <03>|.K//// <03>.<03>|<03><03>{<03>/ <03>|+<03>.. <03>|.+<03>.. <03>|.<03>}.. &<02>`<03>&1&+f1J /-0:02-:/HJ2-:/L-/.:/.HJL-/.+-Oi/(<08>(/(-/JL(MF./ ,0KiK/K-f/J /-3D.#f6g/-<06>-0-,#//-/-/.0J.h-z&5-/&B./ +1 )3<06> <03><03>|<03><03>| 3<03>.<03>J 3<03>}.<03>.g)f<03>zJ <03>.J<03>. <03>}. <03>.<03>|<03><03>{<03>/+ <03>}J+<03>..<03>z. H8c<03>HJ/H-/JM!j <03><03>|<03><03>|<03><06>)f<03>zJ <03>2 <03>t<03>|<03><03>{<03>K+ <03>}f u<> J<03>}<7D>. 5d<03>58<03>~f 5<03>.<03>. 5<03>}.<03>~. <03>~8<03><03>f<03>~<03><03>|8H<03>. 5<03>}.<03>.K).<03>zJ<03> <03>.<03>~.. <03>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
.<03> Jj .<14> <06> <03> <03>|f < <03> <03>|-. /<03>..<03>|<03>.. <03>| <03><03>| /- /- / <03> <03>|- /- / . <03> <03>|..vJ <03>}M>VJ >*.U.,0 <03>. <03>y.,.0H,0L<03>.<03>y. <03>.8.<03>y.<03>.7<03>y<03>...<03>y /! L<03>.<03>x. <03>.<03>x.<03>&<03>x <03>.&<03>x.<03>~  <03>.L<03>~J <03>J. l.<03>~.<03>.<03>~J<03><03>{<03>K+. <03>}J. <03>.fy 
<03>}J qJ.<03>~ <03>fJ.v.<06><03> Jj .f <03>}/- /J :Wf .,0,0H,0 <03>J H.<03>y.<03>.J<03>y.<03>.<03>y.<03>.7<03>y2 /! L<03>.<03>x. <03>.<03>x.<03>&<03>x <03>.&<03>x.   J <03>. <03> <03>| <03> <03>|<03>J<03>|. /.. <03>|/I /J<03>}. ><03><03>~fg<03>.<03>~J<03><03>{<03>K+.J :<03>}Xh<03><03><03><03>~g1.lh<03> <03><03>. <03>.<03>.<03>. . <0B>. .0,0,/,gK J-..J<03>.. K/ <03>J. i<03>. xH<03><03>}J <03>.<03>}. <03><02><03>}. <09>3<03>. <03>}f3<03>. <03>}.<03><02>3  <03>}.3<03>J <03>.8. H.8.3<03>x.<03>f73<03>x<03>.3<03>x.<03>..  <03>v<03>f3  <03>}.3<03>J<03>J3<03>x. <03>J8... H.  <03>v.3<03>.<03>J7  <03>v<03>.<03>~<03>~$LA l.A. lfA.. l%fa!  *!N  *!2.   J<03><03>~<03>~$LA <03>.:<03>}.A6 :x.ARf<03><03>~<03>~$LAf<03><03>~<03>~$LAf :x<03>.:<03>}.*<01> <00><01> /opt/vc/include/interface/vcos/pthreads/opt/vc/include/interface/vcos/usr/include/arm-linux-gnueabihf/bits/opt/vc/include/EGL/../KHR/opt/vc/include/EGL/usr/lib/gcc/arm-linux-gnueabihf/8/include/usr/include/arm-linux-gnueabihf/bits/types/usr/include/opt/vc/include/interface/vmcs_host/opt/vc/include/GLES/opt/vc/include/interface/mmal/usr/include/arm-linux-gnueabihf/sys/opt/vc/include/interface/mmal/utilRaspiTex.cvcos_platform.hvcos_logging.htypes.hstdint-intn.hstdint-uintn.hkhrplatform.heglplatform.hstddef.hvcos_types.hstruct_timespec.htime.hthread-shared-types.hpthreadtypes.hsemaphore.hunistd.hgetopt_core.hsignal.hvc_dispservice_x_defs.h vc_dispmanx_types.h egl.heglext.hgl.h
mmal_types.h mmal_format.h mmal_buffer.h mmal_parameters_common.h mmal_clock.h mmal_port.h mmal_component.h mmal_queue.h mmal_pool.h struct_FILE.hFILE.hstdio.hsys_errlist.hRaspiTex.hmath.htime.h RaspiTexUtil.hvcos_thread.hpthread.hsemaphore.hvcos_init.hThresholdingShader.hmmal_util_params.h mmal_util.h <built-in>(i<03>(5(y.m(y.0/hgMJ/ MGf ?.A. ?JA.f:<03> K<03>}g  / - // 
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
 K<06>.f-K NJ/gBfe JJ3<03> K <03>}]<5D> <03> .K J/
.5.K g
.5.K g
.5.K g
.5.K0<03><03>.4 <03>P<03>h
g
 <03>ff<03> <03>ff<06>.,W..ggf<03>f `<60>f<06>..<03><06>"J<01> <03>ff<06>.e.<06>.<03>f!+.U. /*.M2M/0M1M+1NJK<01>/-/
v.
/ m0, n. <01>5y.. JJjJJ@<14>@0@,h@,Ln <06>K&.f/QJJ&.f/UJ ./-R*+-/*K+-M2M+15/-/5 -/ g./fJK<><06>.JJJ&(fcJ<06><06>f&<15>sJf& <0A>*<08>*.M0*)O<06> <03>.<03>.<03>~f <03><03>}..<03><03> /J<03>L f/J4G f/J9ff
<06>/ <03>..<03>f
K. @J.0 Pf.5.<18>./.-J/.g .K/M .K/M.KL.KL<03> ./<03><03> ./<03><03> .<03> <03>..<03>3t3/3-/3-//3#.3p.0 .w.///2*-/#0#,//-/$<24>*O)<06>$#z.$4/KJ+<02>r+./). ./T+,0+,00. KQ<01>Kh  K]' Y. '..S+<0F>+1++i++1g <06>./&M+2F&#/wJ<06>y <00><01> /usr/include/arm-linux-gnueabihf/bits/opt/vc/include/EGL/../KHR/opt/vc/include/EGL/usr/lib/gcc/arm-linux-gnueabihf/8/include/opt/vc/include/interface/vcos/usr/include/arm-linux-gnueabihf/bits/types/usr/include/opt/vc/include/interface/vcos/pthreads/opt/vc/include/interface/vctypes/opt/vc/include/interface/vmcs_host/opt/vc/include/GLES/opt/vc/include/interface/mmal/usr/include/arm-linux-gnueabihf/sys/opt/vc/include/GLES2RaspiTexUtil.ctypes.hstdint-intn.hstdint-uintn.hkhrplatform.heglplatform.hstddef.hvcos_types.hstruct_timespec.htime.hthread-shared-types.hpthreadtypes.hstruct_timeval.hsemaphore.hunistd.hgetopt_core.hsignal.hvcos_platform.hvcos_logging.hvc_image_types.h vc_dispservice_x_defs.h
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
vc_dispmanx_types.h
egl.heglext.hgl.h mmal_types.h mmal_format.h mmal_buffer.h mmal_clock.h mmal_port.h mmal_component.h mmal_queue.h mmal_pool.h struct_FILE.hFILE.hstdio.hsys_errlist.hRaspiTex.hmath.hRaspiTexUtil.hvc_sdtv.h
vc_cecservice_defs.h
time.h gl2.hvcos_platform_types.hstdlib.hglext.h vc_dispmanx.h
C t<03>C2C*jC*NC*2LkK-/3fO<06>P<06>,03<06>,03<06>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
4z. .NJJf.J"fg
cJf<1B>fy<f[<5B>f<>f<12>fs<><14>f<03>~8Li'1<.. ,'0
.<J%./;&;/;-J/.iL,/g,0Kg,0Kg,0Kgc1Lgg/-h.GtG-/GI# .u.G-# .u.G-.r./ G, .$2 u.5//// u.<06><01>$&/0+/0/-/3 KO
[.3/0,00
:,!.0[J "
fkJfJ<06>fJ
 feJ
<1B>I&I/I-J/.g.K/L)B<03>tB/B-/./ggg>Q>N>*2<>4x.0 .u.<2E>z.PL<06>.1./MJ><02>{>O>)3<>4zJ<7A>>u.3 .>p.3+/0 0 ,0g<06>.1.0xJ<<<g<-K<-./..<-K/g.LKM.<0E>/Ltff9X9
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
K<EFBFBD>.1; f;
K<EFBFBD>.1; f;
K<EFBFBD>.1; f;
K<EFBFBD>.1?m.9f>5  0f..K / K-/ 4f414+i4+M4+1J.11/+.1/ -/1>. JiJ<08>./-/// K
F/I <0A>If3-KI 3/gk  L ,0 1,h +//K<>l K. e//L<>l/-//gK<67>f
v<>JK. MP),03*v.
.fv<>J
g..vJK. MP),03(v.
.fv<>
J
.^f<1C>KKL
/^f.<1B>ft <01>.A<><01><06>fuh fdv f
<EFBFBD><06>/<01><15><01><><EFBFBD>s<>B<01><00><01> /usr/include/arm-linux-gnueabihf/bits/usr/lib/gcc/arm-linux-gnueabihf/8/include/usr/include/arm-linux-gnueabihf/bits/types/usr/include/opt/vc/include/interface/vcos/pthreads/opt/vc/include/interface/vcos/opt/vc/include/interface/mmal/opt/vc/include/interface/vmcs_host/opt/vc/include/interface/mmal/utilRaspiCamControl.ctypes.hstddef.hstruct_FILE.hFILE.hstdio.hsys_errlist.hstdint-intn.hstdint-uintn.htime.hpthreadtypes.hunistd.hgetopt_core.hsignal.hvcos_platform.hvcos_logging.hmmal_common.hmmal_types.hmmal_format.hmmal_buffer.hmmal_parameters_common.hmmal_parameters_camera.hmmal_clock.hmmal_parameters.hmmal_port.hmmal_component.hmmal_events.hmmal_logging.hRaspiCamControl.hvc_vchi_gencmd.hmmal_util_params.h RaspiHelpers.hvcos_platform_types.h<built-in>G<02><>+G/G-/0!rJK /0x.Qy.2O!.!-MK!* 
.v.* -/!/.11////1 /!/n.// //^J<01>L+$L/L-.//0.,.hJJf<06>0H.v .JNԅ<03>N1N+11.Nz.P3Jkpf JJwfK - /..R. x...L<06>L1L+11.Lz.P3Jkpf JJwfK - /..R. x...J<06>J1J+11.Jz.P3Jkpf JJwfK - /..R. x...N<06>N1N+11Nz.P3Jkpf JJwfK - /..R. x...@<06>.@-J
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
...
,..I JIM),L) 1-1
.J0A <09>.A-I
...
,..= J.=-I
...
,..GJGN!+M! 2-1
.J0L<0E>LN!+M! 2-1
.J0A<13>AN+M 2-1
.J01<06>1-/1IK.M+i -1J.J. K-6E,'0
/,G/'/.,/-//
LJ?<02><> ?N+M 2-1
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
.J0I<10>I-/IIJ/.M+1 -1
2*
2+ .I/
.0JJT<> J. 0J, 2 , 0 , h , 0 ,'J<07>h L d0.0<>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
/
-.O<02><> O-/OIgO-3F3)2-0 / I0 /L<><4C>
<01>JP<02><> P*K1+2
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
2+)4z.1///+<06>
.L?
<EFBFBD>?O?)O.+?,01?)OP
R  JK J<06>L./+../+I//- ./ .6UJ .NK.<0E>g. <06>,. <06>/.zJJ L,. <06>2WJIQ<07>./.
<EFBFBD>L<08>.L-J
...
,..EJEO*N 3-1
.J/N<06>.N-J
...
,..8M.8-I
...
,..NJN'KN-'K..N-'g1'+M4$./0Y.$.!L/L/L/L/L/'L#/-1#+1,4)/Q1*2/m.0/$x.042
<01>JI<02><>&I-&/II&KI-&/3&)O&)O/".".-/1
<01>J.0<>.N+.-//1( /(e..K LM) /.)-.K L
e/.fIԑ<03>zI iI+ 1 /I* M/ ./
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
-/ K
-/ K
-/ K
-/ L
,0 L
,0 L
,/L
+0 K
,0 K
I/ L
,0 K
-/ M
+1 K
I/ K
<EFBFBD>/ K
-/ K
-/ K
-/ K
<08>/ O
E3 L
,0 L
H0.pf+<06> g./Jf<05> .f;(<28><03> b;dJ;<1C>d..K<13>/;.fJLo.fo.
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
w../ m/<06>KJgfJ.<06>JrJ<0E>uJ KJ
<EFBFBD>TJ<06>& gJ<>J<06>D|DgD-/.DI/.L .
f .<06>J<03>/Iy.Jp<>%0<07><01><08>f0V<01> /usr/include/arm-linux-gnueabihf/bits/usr/lib/gcc/arm-linux-gnueabihf/8/include/usr/include/arm-linux-gnueabihf/bits/types/usr/include/opt/vc/include/interface/vcos/pthreads/opt/vc/include/interface/vcos/opt/vc/include/interface/mmalRaspiHelpers.ctypes.hstddef.hstdint-intn.hstdint-uintn.hstruct_FILE.hFILE.hstdio.hsys_errlist.hpthreadtypes.hunistd.hgetopt_core.htime.hsignal.hvcos_platform.hvcos_logging.hmmal_types.hmmal_format.hmmal_clock.hmmal_port.hmmal_component.hmmal_logging.h,D<># Jg..\<5C>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
.-K1.*2J,& Q0t.J 
<EFBFBD>sJJ  <0A>pJJ <10>mJJ <13>jJJ <16>gJJ <19>dJJ <1C>aJJ <1F>^JJ "<22>[JJ %<25>XJJ (<28>UJJ +<2B>RJJ .<2E>OJJ 1<>yJ <06>FJ <06>(<<00><01> /usr/include/arm-linux-gnueabihf/bits/opt/vc/include/EGL/../KHR/opt/vc/include/EGL/usr/lib/gcc/arm-linux-gnueabihf/8/include/opt/vc/include/interface/vcos/usr/include/arm-linux-gnueabihf/bits/types/usr/include/opt/vc/include/interface/vcos/pthreads/opt/vc/include/interface/vmcs_host/opt/vc/include/GLES/opt/vc/include/interface/mmal/opt/vc/include/interface/vctypes/opt/vc/include/interface/vcsm/opt/vc/include/GLES2ThresholdingShader.ctypes.hstdint-intn.hstdint-uintn.hkhrplatform.heglplatform.hstddef.hvcos_types.hstruct_timespec.htime.hthread-shared-types.hpthreadtypes.hsemaphore.hunistd.hgetopt_core.hsignal.hvcos_platform.hvcos_logging.hvc_dispservice_x_defs.h vc_dispmanx_types.h egl.heglext.heglext_brcm.hgl.h
mmal_types.h vc_image_types.h mmal_format.h mmal_buffer.h mmal_clock.h mmal_port.h mmal_component.h mmal_queue.h mmal_pool.h struct_FILE.hFILE.hstdio.hsys_errlist.hRaspiTex.hmath.hRaspiTexUtil.huser-vcsm.h gl2.hglext.h
math-finite.hmathcalls.h<built-in>2<18><03>2-/JKD<03>fD$jD*)2$./D)$2  .$t.  .)t..)h. .)`.J/1./// J t./)K0.10+i b/0g100ןMLKhgL<67><13><><EFBFBD><EFBFBD>1"<06>P<>L
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
/uJJ L,. "B<03><08>BKB-/L 0 JB) 3B) O/&L d0KJhjfW.).J/KiY. '.K Lgh)gg+<06><>0H/<06>* Y.03x.1),.k0<>O 3E3)3/Pggg<67>Y<><06> [I<01> <09><06> d;<03>0;.K;-/.h&,/-/-//&0&,/z.<01><00><01> /usr/include/c++/8/bits/usr/include/opencv2/core/usr/include/c++/8/usr/include/c++/8/ext/usr/include/usr/include/c++/8/debug/usr/include/arm-linux-gnueabihf/c++/8/bits/usr/lib/gcc/arm-linux-gnueabihf/8/include/usr/include/arm-linux-gnueabihf/bits/usr/include/opencv2/core/hal/usr/include/arm-linux-gnueabihf/bits/types/usr/include/opencv2/usr/lib/jvm/java-11-openjdk-armhf/include/linux/opt/vc/include/interface/vcos/pthreads/opt/vc/include/interface/vcos/opt/vc/include/interface/mmal/opt/vc/include/interface/vmcs_hostlocale_facets.hcvstd.hppTesterMain.cppostreamchronochar_traits.hbasic_ios.hmat.inl.hppstl_vector.htypes.hppallocator.hnew_allocator.hstl_construct.halloc_traits.hstdlib.hiostreambasic_string.hstringfwd.hcstddefcstdinttype_traitsstl_pair.hutilitystl_iterator_base_types.hdebug.hcstdlibc++config.halgorithmfwd.hexception_ptr.hnewlimitscstringcwcharclocalestring_viewcomplexcstdioinitializer_listcmathstd_abs.hstl_bvector.hstl_iterator.hvector.tccios_base.hcwctypeostream.tccistreamctimeratioiosfwduses_allocator.htupleshared_ptr_base.hparse_numbers.huniform_int_dist.hostream_insert.hfunctexcept.hpredefined_ops.hnumeric_traits.halloc_traits.hconcurrence.hstddef.htypes.h stdint-intn.h stdint-uintn.h stdint.hinterface.h
clock_t.h time_t.h pthreadtypes.h stdlib-float.h stdlib-bsearch.h string.hstdarg.h<built-in>wint_t.h __mbstate_t.h mbstate_t.h __FILE.h struct_FILE.h FILE.h wchar.hstruct_tm.h locale.htime.hatomic_word.h__fpos64_t.h stdio.hsys_errlist.h stdio.h errno.hmath.hpersistence.hppbase.hppmatx.hppmat.hpputility.hppimgcodecs.hpp math-finite.h types_c.hwctype-wchar.h wctype.hstdlib.hjni_md.h unistd.hgetopt_core.h signal.hvcos_platform.hvcos_logging.hmmal_clock.hvc_dispservice_x_defs.hvc_cecservice_defs.hPicamJNI.hpp<02>g<03> .<1C><03>/0+/L../-/. .f<02><>:1+:14M:+143gy.44/3.y.<03>.3<03>{.<03>.<03>{Jn)<03>f<03>}"<03>~<7E><03><03>~<03>~c<03>8<03>}<06>7<06>(.<03>J<03>}"<03>~<7E><03>f<03>~<03>~c<03><03>}<06><03><03>~<03><01>5<03>{<03>J<03>}<03>~<03>~V<03>5<03>}<03>.&R<01>./<03><03><03>|..<03><03><03>~f<03>|J<03>.K3.<03>}J.<03>{0<03>J0<03>{<7B>0<03>.N<03>{<03>ff<03>.<03>|..<03><03><03>~f<03>|J<03>.K3.<03>}J.L+<03>|<7C><03>f+<03>|f<03>..7<03>|<03>f7<03>{.9.<03><03>~f<03>|J<03>.K3.<03>}J.<03>{<03>  .JJ <0B>. .0,0,/,gK J-..f<03>./֞ .K<17><> .K<17><><03>y70<03><01><03>|<03><03>~<7E><03>|J<03>g3.<03>}J.<03>{5<06>N <09> A$._.
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<03> f<03>t. . A$. ^./
<03> .1<03>t t <03><03>~<03>~ $ L A_.. <03>.<03>}. ^ <03><03>J <03>} . [ 3 K$<03>J<03>{L<03><03>~<03><01><03>|<03><03>~<7E><03>|J<03>g3.<03>}J.<03>{<03>  .JJ <0B>. .0,0,--/,KK J-..J<03>{. <03>.f<03>K֞<03>}<01><03>|<03><03>~<7E><03>|J<03>g3.<03>}J..<03>K֞<03>}<01><03>|<03><03>~<7E><03>|J<03>g3.<03>}J.<03>{<03>JK֞ K֞ <03>~f<03>z. <03><03>}. ^ <03><03>J <03>} . [ 3 K<03>J"TJ<03>",/-/./44<01>0/5h4<06>3<06>0fo.<03>JJf<03>}<03>..f<03>}<03>..<03>}.m..m.<13>m.<13>m.
 <00><><EFBFBD><EFBFBD>| <00>g<00>g B<08><02>h<B<10><04><03><02><00>L(D<08><02><00>L4D<08><02>XhH<08><02>$<00>LB<10><04><03><02>BPb
B $<00>M`J<10><04><03><02>\
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>B (LNpB<18><06><05><04><03><02>j
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>B (<00>N<00>B<18><06><05><04><03><02>x
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>B lh<00>D<08><02>0HO<00>B$<24> <09><08><07><06><05><04><03><02>P<0E>`
$B i,W<00>B <20><08><07><06><05><04><03><02>B<0E><02>
 B ,<00>[<00>B <20><08><07><06><05><04><03><02>B<0E><02>
 B $`_<00>B<10><04><03><02>B^
B J<10>T`<00>B<10><04><03><02>B@PQRS T U V
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
W XYZ[x
Z[XYVWTURSPQF<><46><EFBFBD><EFBFBD>B B
Z[XYVWTURSPQB <00>`<00>F<04>Dv<00>a@P<08><02>H<00><><00>adF<04>D^Pbtb<08><02>J<00><>$<00>btB<10><04><03><02>l
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>B 08c<00>B<1C><07><06><05><04><03><02>B(N
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
B J
B Pd<00>B<14><05><04><03><02>BPQJ(<02>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
BPQB R
BPQB Z
BPQB TxH<00>B<18><06><05><04><03><02>B8PQ R S T
U VW<02>VWTURSPQ^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <00><><EFBFBD><EFBFBD>| 4(iH$<24> <09><08><07><06><05><04><03><02>B0x
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
$B 
$B 8(m<00>B<10><04><03><02>f
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>B J
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>B N
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>B ((<00>mH<10><04><03><02>Bb
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
B N
B (<00>o B<10><04><03><02>(q<00>H<08><02>B
<EFBFBD><EFBFBD>B (<00>q<00>B <0C><03><02>D T $(<00>r<00>B<10><04><03><02>r
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>B $(Ds<00>H <0C><03><02>Bh
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
 B V
 B <00><><EFBFBD><EFBFBD>| $<00> t<00>H<14><05><04><03><02>B(l
B <00><00>v`B<04>B\$<00>XwH<10><04><03><02>^
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>B ,<00>Xx<00>D <20><08><07><06><05><04><03><02>Lpt
 B <00>@zpH<08><02><00><00>z@B<08><02> <00><00>z<00>B<14><05><04><03><02>FX|(<00><00>{<00>B<18><06><05><04><03><02>FXF
B $<00>L|<00>D<18><06><05><04><03><02>L |
B <00> }0B<04>BP<00>P}0B<04>BP<00><00>}0B<04>BP<00><00>}0B<04>BP <00><00>} <00><00>} <00><00>} <00><00>}@ <00>4~H<10><04><03><02>L t
B 8<00>D<00>B$<24> <09><08><07><06><05><04><03><02>B<0E>B<0E>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
$B Z
$B <00><><EFBFBD><EFBFBD>| <00><00><>B<08><02>DV
B $<00> <0C><00>B <0C><03><02>DN
 B | (<00>ԅ<00>N<04>BP
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
B L
B RB<>(<00>x<><00>N<04>BP
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
B L
B RB<>(<00><1C><00>N<04>BP
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
B L
B RB<>(<00><00><><00>L<04>BP
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
B L
B RB<><00>`<60>0F<08><02>J<><4A><00><00><>@B<04>BV<00>Ј0F<08><02>J<><4A><00><00>0F<08><02>J<><4A><00>0<>@B<04>BV<00>p<>@B<04>BV<00><00><>@B<04>BV$<00><00><><00>D <0C><03><02>H(h
 B ^ <00><00><>DB<04>BV<00><00><>lD <0C><03><02>H(f (<00>T<><00>B<18><06><05><04><03><02>H<><48><EFBFBD><EFBFBD><EFBFBD><EFBFBD><00><00><><00>D <0C><03><02>N x <00><00><>|D<04>BPp4<00> <0C><00>B<18><06><05><04><03><02>B8R
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
B t
B ^
B <00><00><>0F<08><02>J<><4A><00><14>DB<04>BV<00>X<>0F<08><02>J<><4A><00><00><>0F<08><02>J<><4A>(<00><00><>B<1C><07><06><05><04><03><02>B<0E>x <00><00><>pD<14><05><04><03><02>L0dD<00>0<><00>B<10><04><03><02>BPQF n
BPQB<><42><EFBFBD><EFBFBD>B DBPQ(<00>ԑTB<14><05><04><03><02>D@<02>
B n0<00>(<28><00>B<14><05><04><03><02>Bxl
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
B J
B V
B (<00>ܕhB<10><04><03><02>P j
B<><42><EFBFBD><EFBFBD>B <00><><EFBFBD><EFBFBD>| P D<>P \<5C><00>L<08><02> <00><><EFBFBD><EFBFBD>| <00> <18>$D<08><02>,<00> <<3C>lB$<24> <09><08><07><06><05><04><03><02>Pp<02>
$B ,<00> <00><><00>B$<24> <09><08><07><06><05><04><03><02>F8t
$B <00> d<><00>B<10><04><03><02> <00><><EFBFBD><EFBFBD>| , <00>g, <1C>HB<10><04><03><02>4, <00><>,B$<24> <09><08><07><06><05><04><03><02>Dh<03>
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
$B <02>
$B , TJ<00>D<10><04><03><02>Dv
B , KLB<10><04><03><02>Z<><5A><EFBFBD><EFBFBD>_ZN7JNIEnv_9GetJavaVMEPP7JavaVM__ZNSt6vectorIN2cv5RangeESaIS1_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS1_S3_EESt16initializer_listIS1_E_ZNK2cv4UMat8rowRangeEii_M_release_S_app_ZN2cv4MatxIiLi2ELi1EEC4Eiiiiiiiiiiiiiiii_ZNSt14numeric_limitsIjE14min_exponent10E_ZNKSt6chrono8durationIxSt5ratioILx1ELx1000EEEngEv_ZNSt14numeric_limitsIiE11round_errorEv_ZNSt6vectorIhSaIhEEC2Evbasic_ostringstream<char, std::char_traits<char>, std::allocator<char> >_ZNVSt13__atomic_baseIbE8exchangeEbSt12memory_order_ZNSt6atomicItEC4Et_ZNSt6atomicIjE19is_always_lock_freeE~new_allocator_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv_ZNSt17basic_string_viewIDiSt11char_traitsIDiEEC4EPKDij_ZNSt10_Head_baseILj1ESt14default_deleteINSt6thread6_StateEELb1EEC4ESt15allocator_arg_tSt13__uses_alloc0_ZNVSt13__atomic_baseIaE9fetch_andEaSt12memory_order_ZNSt16reverse_iteratorISt19_Bit_const_iteratorEC4Ev_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8pop_backEv_ZNVSt13__atomic_baseIiE23compare_exchange_strongERiiSt12memory_order_ZNSt14numeric_limitsImE5radixE_ZNSt13__atomic_baseImED4Ev_ZNK2cv4UMat5totalEvCallIntMethod_ZNSt13__atomic_baseIiEeOEiPoint_ZNSt14numeric_limitsIxE9is_signedE_M_data_ptr<unsigned char>_ZNK9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEdeEv__make_move_if_noexcept_iterator<unsigned char>_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5rfindEPKcjelemSize_Distance_ZN7JNIEnv_27CallNonvirtualBooleanMethodEP8_jobjectP7_jclassP10_jmethodIDz_SC_ASYNCHRONOUS_IOmemory_order_acq_rel_ZNSt14numeric_limitsIDiE10has_denormE_ZNK2cv8UMatData14tempCopiedUMatEv_ZNSt14numeric_limitsIiE8is_exactE_ZNSt14numeric_limitsIxE7epsilonEvMatx_MulOp_ZNSt6threadC4Ev__duration_cast_impl<std::chrono::duration<long long int, std::ratio<1, 1> >, std::ratio<1, 1000>, long long int, true, false>_ZNSt14numeric_limitsIwE13signaling_NaNEv_ZNSt14numeric_limitsIwE13has_quiet_NaNE_ZNSt14numeric_limitsIaE11round_errorEv_ZNKSt6vectorIhSaIhEE4dataEv_ZN7JNIEnv_15CallByteMethodAEP8_jobjectP10_jmethodIDPK6jvalue_ZNKSt17basic_string_viewIDsSt11char_traitsIDsEE12find_last_ofEPKDsjjtime_since_epochannotate_text_size_ZNKSt13__atomic_baseIbE4loadESt12memory_orderCallNonvirtualIntMethodAnumeric_limits<long unsigned int>complex floatMMAL_PARAM_AWBMODE_OFFexposuretimestamp_mutexenqueue_mat_ZNSt14numeric_limitsIyE9is_iec559ESetBooleanArrayRegionCallNonvirtualIntMethodV_ZNVSt13__atomic_baseIyE9fetch_addEySt12memory_order_ZN9__gnu_cxx14__alloc_traitsISaIcEcE20_S_propagate_on_swapEv_Destroy<unsigned char*>_ZN7JNIEnv_15CallLongMethodAEP8_jobjectP10_jmethodIDPK6jvalue_ZN2cv3MatC4ERKSt6vectorIiSaIiEEi_ZNSt6vectorIN2cv4cuda6GpuMatESaIS2_EEC4EOS4__ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4backEvbasic_string_view<char16_t, std::char_traits<char16_t> >_SC_XOPEN_XCU_VERSIONMMAL_PARAMETER_ANTISHAKEvcos_static_assertdifftimeheader_size_M_maskdelta_index_ZNSt6vectorIN2cv4UMatESaIS1_EE6insertEN9__gnu_cxx17__normal_iteratorIPKS1_S3_EERS6__ZNSt13__atomic_baseIhE9fetch_addEhSt12memory_order_ZN7JNIEnv_18ReleaseStringCharsEP8_jstringPKt_ZNKSt6chrono8durationIxSt5ratioILx1ELx1000EEEpsEvnum_effect_paramsMMAL_VIDEO_ENCODE_RC_MODEL_T_ZNKSt17basic_string_viewIDiSt11char_traitsIDiEE17find_first_not_ofEDij_SC_THREAD_SAFE_FUNCTIONSCvReleaseFunc_ZNKSt5arrayIdLj6EE5emptyEv_ZNKSt13__atomic_baseIyEcvyEv_Tuple_impl<0, std::thread::_State*, std::default_delete<std::thread::_State> >_ZN2cv16FileNodeIteratormmEi_ZNSt13__atomic_baseIiE8fetch_orEiSt12memory_order_ZNSt17basic_string_viewIDiSt11char_traitsIDiEEC4EPKDi_ZN2cv16FileNodeIteratormmEv__head_M_end_of_storage_ZNSt13__atomic_baseIsEpLEs_ZNK2cv4MatxIdLi4ELi1EE3colEi_ZNK2cv4MatxIiLi2ELi1EE3dotERKS1__ZN9__gnu_cxx13new_allocatorIcEC2ERKS1_complex long doubleMMAL_PARAMETER_CAPTURE_MODEMMAL_PARAMETER_FLASH_SELECT_ZNK2cv3Mat5cloneEv_ZNK2cv7Scalar_IdE3mulERKS1_d_ZNSt14numeric_limitsIyE5trapsE_ZNSt20__uninitialized_copyILb1EE13__uninit_copyISt13move_iteratorIPhES3_EET0_T_S6_S5__ZNK2cv4UMat7reshapeE
<0C>O<00>O<00>.C <0C>O<00>O<00>.C <00>O<00>Oys<1C><>O<00>OY@TxTY<>V<00>VY <00>O<00>O<00>.C@TxT<00>.C<00>V<00>V<00>.C<00>O<00>O<00>.C@TxT<00>.CdV<00>V<00>.C<00>V<00>V<00>.C<00>O<00>Oys<1C><>O<00>OY@TxTY<>V<00>VY<00>O<00>O<00>.C<00>V<00>V<00>.C<00>O<00>OY<>V<00>VY<00>O<00>O<00>.C<00>V<00>V<00>.C<00>O<00>O0<><30>V<00>V0<><00>O<00>OY<>V<00>VY <02>O<00>O<00>.C <00>O<00>OP<>O<00>OX <00>O<00>OP<>O<00>OX <02>O<00>O1<> <00>O<00>OP<>O<00>OX <00>O<00>OP<>O<00>OX<00>O<00>OP<>O<00>OX<00>O<00>OP<>O<00>OX<00>O<00>OR<>O<00>Oz<00>O<00>OQ<02>O<00>O1<><00>O<00>OP<>O<00>OX<00>O<00>OR<>O<00>Oz<00>O<00>OQ<00>O<00>Orq<1C><>O<00>OR<02>O<00>OZ<02>O<00>OZ <09>O<00>O<00>.C<00>O<00>OPdVgVPgV<00>Vut2$<24><00>O<00>O<00>.CdV<00>V<00>.CpVxVPxV<00>VYdVdVXdVdVXdV<00>V<00>.CdVgVPgVpVut2$<24> dV<00>V<00>.CdVgVPgVpVut2$<24>
dV<00>V<00>.C dVgVPgVpVut2$<24> dV<00>V<00>.C dV<00>V0<>
dVgVPgVpVut2$<24>pV<00>V<00>.CpV|VXtV|V<00>.CtV|VXtV|V<00>.CtV|VXP<00>PT<>V<00>VTPPSP(T<00><>0T@T<00><>xTdV<00><><EFBFBD>V<00>V<00><><EFBFBD>V<00>V<00><><EFBFBD>V<00>V<00><><EFBFBD>VW<00><>P P0<> PHPY<00>P<00>SU0T@TUxT<00>UU0VHVUHVLVs<01><>V<00>VU<>V<00>VU<>V<00>VU<>VWU<00>Q<00>STxT<00>UT0VDVTDVLV<03><><00>V<00>VTPPpP<10><00><>V<00>V<10><00>PPpP<00><>L<00>V<00>V<00><>LPPpP<10><00><>V<00>V<10><00>hPpPP<>V<00>VPPPhP<10><00><00>P<00>P0<><00>P<00>Pv<00>P<00>PQ<>P<00>Pv <00>P<00>PZ<00>P<00>P[<00>P<00>P<00>@<40><01>P<00>P<00>D<EFBFBD><00>P<00>P0<><00>P<00>Pv<00>P<00>Pv <00>P<00>PZ <00>P<00>QZ0T<TZ<>V<00>VZ <00>P<00>Qp<><00>0T<Tp<><00><>V<00>Vp<><00><00>PHQp<><00><>V<00>Vp<><00> Q4Q0<>4QHQS <0C>Q<00>Qp<><00><T<Tp<><00> <0C>Q<00>QZ<T<TZ <00>Q<00>QZ<T@TZ <14>Q<00>QZ<T<TZRPR0<>pRtRStR<00>RR<>R<00>RQ<>R<00>RR<>R<00>RQ<>R<00>RR<>RSQS SR S8SQ8SPSRPShSQhS<00>SR<>S<00>SQ<>S<00>SR<>S<00>SQ<>S<00>SS@VLV0<><00>UVR|T<00>T@<40>|T<00>TP<>T<00>T<00><>|T<00>TQ<>T<00>Tr|T<00>TZ<00>T<00>T@<40><00>T<00>TZ<01>T<00>T[<01>T<00>T<00>@<40><00>T<00>T<00>D<EFBFBD> <00>T<00>UZ0V<VZ<>V<00>VZ <00>T<00>U<03><><00>0V<V<03><><00><>V<00>V<03><><00><00>TDU<03><><00>U0U0<>0UDUS <0C>U<00>U<03><><00><V<V<03><><00> <0C>U<00>UZ<V<VZ <00>U<00>UZ<V@VZ <14>U<00>UZ<V<VZ<00>UV0<><00>S<00>S<00><>L<00>S<00>S<10><00><00>S<00>S<10><00><00>V<00>V<00><>L<00>V<00>V<10><00><00>V<00>V<10><00>TT<00>.CTT<00>.CT0TXT0T<00>.CTT<00>.CT0T<00>.CTTX TT<00>.C TTX TT<00>.C TTXTT<00>.CTT<00>.CTT<00>.CT(T<00>(CT(T<00><><04>V<00>V<00>.C<03>V<00>V<00>.C<04>V<00>VX<04>V<00>V<00>.C<04>V<00>V<00>.C<00>V<00>VX<04>V<00>V<00>.C<04>V<00>VX<04>V<00>V<00>.C<00>V<00>VX<04>V<00>V<00>.C<04>V<00>V<00>.C<04>V<00>V<00>.C<00>V<00>V<00>(C<00>V<00>V<00><>h(hP(hXhU(h,hT,hXht <0C>,h8hTHhXhT8h8hT8h8hT8h8hT,hXhT,h7hts<1C>HhThtp<1C>ThXhts<1C>,h7hSHhThPThXhS,hXhT,h7hts<1C>HhThtp<1C>ThXhts<1C>,h7hSHhThPThXhS,hXhT,h7hts<1C>HhThtp<1C>ThXhts<1C>,h7hSHhThPThXhS,h,hT,h7hSHhThPThXhS,h7htHhXht,hXhT<00>L<00>LP<>L<00>LT<00>L<00>LP<>L<00>LT<00>L<00>LP<>L<00>LT<00>ghPhhThhThhPhhthhThhThhThhtp<1C>hh
<00><00>ef<00>P<EFBFBD><04>Q<EFBFBD>ffP<>Q<>ff
<00>f,f<00>P<EFBFBD><04>Q<EFBFBD>,f0fP<>Q<>0fPf
<00>Pfhf<00>P<EFBFBD><04>Q<EFBFBD>hflfP<>Q<>lf\g
<00>\g`g<00>P<EFBFBD><04>Q<EFBFBD>`g<00>g
<00>,ddd<10><00><>g<00>g<10><00>,ddd]<5D>g<00>g]8d<00>e]<5D>ef<00>P<EFBFBD>f(f](f0f<00>P<EFBFBD>0fdf]dflf<00>P<EFBFBD>lf<00>g]8dXd<10><00><>g<00>g<10><00>PdXdP<>g<00>gP8dPd<10><00>,d,d<10><00>hd0e<03><><00>ff<03><><00>0fPf<03><><00>|f<00>f<03><><00>`gxg<03><><00>|d(e<03><><00>0f<f<03><><00><>f<00>f<03><><00>`gxg<03><><00><00>d<00>dR<>d(eR`g`g1<>`gtg|tgxgR<00>d<00>dS<>de^ees<73>eeSe es<73> e$eS`g`g0<>`gtg1<>tgxg2<><00>d0e<03><><00>`gxg<03><><00><07>d<00>dS<>d<00>d^ e eS e eS`g`g0<>`g`g1<>He<00>ep<><00><>f<00>fp<><00><>g<00>gp<><00>He`eP`eheRhe<00>eU<>f<00>fU<>g<00>gU<00>e<00>eu,<2C><01>e<00>e^<01>e<00>eu(<28><00>e<00>e<03><><00><03>e<00>e0<><00>e<00>eu,<2C><03>e<00>e0<><00>e<00>e<03><><00><04>e<00>e1<><00>e<00>eu,<2C><03>e<00>e1<><00>e<00>e]<5D>ef<00>P<EFBFBD>f f]Pfdf]dflf<00>P<EFBFBD> f(f](f0f<00>P<EFBFBD>ffPffP<00>fTg<03><><00>xg<00>g<03><><00><>g<00>g<03><><00><00>f<00>fP<>f<00>fR<>fTgTxg<00>gT<>g<00>gTggt,<2C>ggt(ggt(<28>@gTg<03><><00>@g@g0<>HgTgt,<2C>HgHg0<>LgTg<03><><00>LgLg1<>PgTgt,<2C>PgPg1<><00>g<00>g]<00>g<00>g]<00>g<00>gP<00>g<00>gPhc<00>c@<40><00><><04>cd@<40><00><>hc<00>c@<40><00><>cd@<40><00>hc<00>c<00><><EFBFBD><00>cd<00><><EFBFBD>hc<00>c@<40><00><>cd@<40><00><00>c<00>cP<>c<00>cPhc<00>c@<40><00><00>c<00>c<00><><EFBFBD><00>c<00>c@<40><00><00>c<00>c@<40><00><00>b<00>bR<>b8c<00>R<><00>b8c<10><00><><00>b<00>b<10><00>$c8c<10><00><00>b<00>b<00>2<EFBFBD>$c8c<00>2<EFBFBD><00>b<00>b<10><00>$c8c<10><00><00>b<00>bP$c'cP<00>b<00>b<10><00>c$c<00>2<EFBFBD>c$c<10><00>c$c<10><00>Pb`bR`bhbr}<7D>hb<00>b<00>R<>tb<00>br1$<24><>b<00>bR<>b<00>b<00>R#34$<24>R#31$<24><>b<00>bR<>b<00>br1$<24><00>a3bR3bPb<00>l<00>a<00>aR<>a<00>a<00>R<><52>a<00>aR<00>`,aR,aDaSDaPa<00>OPa<00>a<00>lT`<00>`<00>@<40><04>A<EFBFBD><04>`<00>`<00>Z<EFBFBD><04>[<5B><04>`<00>`s<00>`<00>`<00><03>@&<26><>`<00>`<00>Z<EFBFBD><04>[<5B><04>`<00>`s<00>`<00>`<00>Z<EFBFBD><04>[<5B>T`<00>`<00>B<EFBFBD><04>C<EFBFBD><04>`<00>`<00>X<EFBFBD><04>Y<EFBFBD><04>`<00>`s<08>`<00>`<00><03>B&<26><>`<00>`<00>X<EFBFBD><04>Y<EFBFBD><04>`<00>`s<08>`<00>`<00>X<EFBFBD><04>Y<EFBFBD>T`<00>`<00>D<EFBFBD><04>E<EFBFBD><04>`<00>`<00>V<EFBFBD><04>W<EFBFBD><04>`<00>`s<10>`<00>`<00><03>D&<26><>`<00>`<00>V<EFBFBD><04>W<EFBFBD><04>`<00>`s<10>`<00>`<00>V<EFBFBD><04>W<EFBFBD>T`<00>`<00>F<EFBFBD><04>G<EFBFBD><04>`<00>`<00>T<EFBFBD><04>U<EFBFBD><04>`<00>`s<18>`<00>`<00><03>F&<26><>`<00>`<00>T<EFBFBD><04>U<EFBFBD><04>`<00>`s<18>`<00>`<00>T<EFBFBD><04>U<EFBFBD>T`<00>`<00>H<EFBFBD><04>I<EFBFBD><04>`<00>`<00>R<EFBFBD><04>S<EFBFBD><04>`<00>`s <20>`<00>`<00><03>H&<26><>`<00>`<00>R<EFBFBD><04>S<EFBFBD><04>`<00>`s <20>`<00>`<00>R<EFBFBD><04>S<EFBFBD>T`<00>`<00>J<EFBFBD><04>K<EFBFBD><04>`<00>`<00>P<EFBFBD><04>Q<EFBFBD><04>`<00>`s(<28>`<00>`<00><03>J&<26><>`<00>`<00>P<EFBFBD><04>Q<EFBFBD><04>`<00>`s(<28>`<00>`<00>P<EFBFBD><04>Q<EFBFBD>T`<00>`<03><><00><>T`<00>`<03><><00><>`<00>`<03><><00>T`<00>`<00>Ô<00>`<00>`<00>ÔT`<00>`<03><><00><>`<00>`<03><><00><00>`<00>`P<>`<00>`PT`<00>`<03><><00><00>`<00>`<00>Ô<00>`<00>`<03><><00><00>`<00>`<03><><00><07>_<00>_<00>m<EFBFBD><11>_<00>_<00>m<EFBFBD> <0F>_<00>_<00>m<EFBFBD>
<0A>_<00>_<00>m<EFBFBD> <0A>_<00>_<00>m<EFBFBD><15>_<00>_<00>s<EFBFBD><00>[<00>[R<>[<00>\X<>\p]<00>R<>p]<00>]X<>]<00>]<00>R<><52>]<00>]R<>]D^<00>R<>D^H^XH^x^<00>R<>x^<00>^X<>^_<00>R<>_ _X _`_<00>R<><00>[<00>[S<>[<00>\W<>\p]<00>S<>p]<00>]W<>]<00>]<00>S<><53>]<00>]W<>]D^<00>S<>D^H^WH^x^<00>S<>x^<00>^W<>^`_<00>S<><00>\<00>\P<>\<00>\Q<>\]PP]\]P\]c]R^^P^^RH^L^Px^|^P|^^Q\@\P@\L\Zp]t]Pt]<00>]ZD^G^PG^H^Z\@\P@\L\Zp]t]Pt]<00>]ZD^G^PG^H^Z(\@\:<3A>p]<00>]:<3A>D^H^:<3A>(\4\S4\@\
pp<"<22>p]t]
pp<"<22>t]w]
zz<"<22>D^G^S(\0\TD^H^T0\@\:<3A>p]<00>]:<3A>0\@\Tp]<00>]Tp]<00>]:<3A>p]<00>]TH\K\P$]<]:<3A><>]<00>]:<3A>^^:<3A>$],]W^^W,]<]:<3A><>]<00>]:<3A>,]<]W<>]<00>]W<00>]<00>]:<3A><00>]<00>]WD]G]P<00>^<00>^P<00>^<00>^P<00>N<00>NP<>NOVO OP O4O<00>P<>4OHOV<00>N<00>NQ<>N0OW0O4O<00>Q<>4OHOW<00>NHO<03><><00><><00>N<00>N<03><><00>4OHO<03><><00><00>N<00>N<00><10>4OHO<00><10><00>N<00>N<03><><00>4OHO<03><><00><00>N<00>NP4O7OP<00>N<00>N<03><><00><00>NOVO OP O O<00>P<><00>N O@<40><00><00>N O(<28><00><00>NOVO OP O O<00>P<><00>N O@<40><00><00>N O(<28><00><00>NOVO OP O O<00>P<><00>N O@<40><00><00>N O(<28><00><00>N4O1<><00>NOVO OP O O<00>P<><00>N O@<40><00><00>N O(<28><00><00>N4O3<> OOW OOX<><00> OO@<40><00> OOW OOX<><00> OO@<40><00> OOW OOX<><00> OO@<40><00> O4O1<> OOW OOX<><00> OO@<40><00> O4O3<>O4O<00><10>O4O<03><><00>O4O<03><><00><00>MNPNLN<00>P<><00>MN pH<03><>"<22><>NLN<00>PH<03><>"<22><><00>MN pH<03><>"<22>N(N <00>PH<03><>"<22><NLN <00>PH<03><>"<22><00>M(N<00>
<EFBFBD><NLN<00>
<EFBFBD><00>MN pH<03><>"<22>N(N <00>PH<03><>"<22><NLN <00>PH<03><>"<22> N(NP<N?NPN NT(N<N<00>
<EFBFBD>(N<N <00>PH<03><>"<22>(N8NT8N;NPLNxNP<>Q<>xN<00>N<00><03><<3C>LN<00>N@<40><00><>LN<00>N@<40><00><>N<00>N@<40><00>LN<00>N<00>{<7B><00>N<00>N<00>{<7B>LN<00>N@<40><00><>N<00>N@<40><00>|N<00>NP<>N<00>NPLN|N@<40><00><00>N<00>N<00>{<7B><00>N<00>N@<40><00><00>N<00>N@<40><00><00>LMPM/M^/M<00>M<00>P<00>LMQM/M}/M<00>M<00>Q<><00>LMRM/M<00><>/M<00>M<00>R<><00>LMSM/M<00><>/M<00>M<00>S<><00>L<00>L<00>@<40><>LM\MM|p<>M<00>M<00>@<40><>M<00>M<00>@<40><00>LdM<00><><EFBFBD>dM<00>MT<>M<00>MT<00>L M<00><><EFBFBD> M,M<00>@<40> M,M<00>@<40> M$M\$M,M|p<> M,M<00>@<40> M$M\$M,M|p<> M,M<00>@<40> M$M\$M,M|p<> M M<00>@<40> M M<00>@<40> M M<00>@<40> M M<00>@<40> ,M/M|p<>/M4M<00>T<EFBFBD>4MPM^PM`M~p<>`MpM<00>T<EFBFBD>LMPM^PM`M~p<>`MpM<00>T<EFBFBD>LMPMPPMXM\XMpM<00><>XM`M~p<>`MpM<00>T<EFBFBD>XMpM<00><>#<04>XM`M~p<>`MpM<00>T<EFBFBD>XMpM<00><>#<04>XM`M~p<>`MpM<00>T<EFBFBD>XMpM<00><>#<04>XM`M~p<>`MpM<00>T<EFBFBD>XMpM<00><>#<04>
XMXM~p<>XMXM~p<>XMXM~p<>LMLMPXMXM~p<> pMpM<00><> pMpM<00><><EFBFBD> pMpM<00><> pMpM<00><><EFBFBD> pMpM<00><><EFBFBD> pMpM<00><><EFBFBD>pMpM<00><><EFBFBD>pMpM<00><><EFBFBD> pMpM<00><><EFBFBD> pMpM<00><><EFBFBD><00>M<00>M<00><><EFBFBD><00>M<00>M<00><><EFBFBD><02>M<00>M<00><><EFBFBD><01>M<00>M<00><><EFBFBD><00>M<00>M<00><><EFBFBD><00>M<00>MP<00>M<00>M<00><><EFBFBD><00>M<00>M<00><><EFBFBD><03>M<00>M<00><><EFBFBD><01>M<00>M<00><><EFBFBD><00>M<00>M<00><><EFBFBD><00>M<00>MP<00>M<00>MT<07>M<00>MT<00>M<00>MT<07>M<00>MTW3WP3W<00>XT<>XTY<00>P<>TYhYThY<00>Y<00>P<><50>Y<00>YT<>Y<00>Y<00>P<><50>Y<00>YT<>Y<00>Y<00>P<><50>Y<00>YT<>Y<00>Y<00>P<><50>Y<00>YT<>YhZ<00>P<>hZpZTpZ<00>[<00>P<>W3WQ3W<00>[YW3WR3WTXVTX`Xva<76>`X<00>X<00>R<><52>XYVY<00>Y<00>R<><52>Y(ZV(ZhZ<00>R<>hZ<00>ZV<>ZD[<00>R<>D[H[VH[<00>[<00>R<>W3WS3WXXUXXdXuq<75>dX<00>X<00>S<><53>X<00>XU<>X<00>Y<00>S<><53>Y<00>YU<>YhZ<00>S<>hZlZUlZD[<00>S<>D[H[UH[<00>[<00>S<>TWlWPlW<00>WZ<>W<00>WP<>W<00>WR<>W<00>WZ<>W<00>WP<>WDXZDXPXP<>X<00>XP<>X<00>XP<>XTYZTYXYP<>Y<00>YP<>Y<00>YP<>Y<00>YP<>Y<00>Y4<><34>Y<00>YP<>YhZZhZ|ZP|Z4[ZD[H[4<>H[T[Z<00>X<00>X<03><><00><00>X<00>XTYYTH[L[T(Y<YU(Y<YU(Y,YU,Y,YU8Y;Ys8Y<YU8Y<YU8Y;Ys#<01>8Y;YP8Y<YU8Y;Ys#<01>8Y;YP<Y<YU<Y<YU<Y<YUP[T[UP[T[UP[T[U<00>Z<00>Z<10><00><00>Z<00>ZT<00>Z<00>ZT [$[T<04>Z<00>ZU<00>Z<00>ZU<01>Z<00>ZU<01>Z<00>ZU<00>Z<00>Zs<00>Z<00>ZU<00>Z<00>ZU<00>Z<00>Zs#<01><00>Z<00>ZP<00>Z<00>ZU<00>Z<00>Zs#<01><00>Z<00>ZP<04>Z<00>ZU<04>Z<00>ZU<04>Z<00>ZU<03>Z<00>ZU<03>Z<00>ZU<03>Z<00>ZU<00>YZl<><00><00>YZT(Z0ZT$[([T<ZPZU<ZPZU<Z@ZU@Z@ZULZOZsLZPZULZPZULZOZs#<01>LZOZPLZPZULZOZs#<01>LZOZPPZPZUPZPZUPZPZU0[4[U0[4[U0[4[U<01>Z<00>ZU[ [s[ [U[ [U[ [s#<01>[ [P[ [U[ [s#<01>[ [P [ [U [ [U [ [UXhkhPkhlh<00>P<>XhXhPlh<00>hP<>hiTiiPi iT|h<00>hP<>h<00>hTiiPi iT<00>h<00>h0<><30>h<00>hS<00>g<00>gP<>g<00>g<00>P<> iiPii<00>P<>4
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
\
P\
<00>
U<>
<00>
P<>
 U|
<00>
P<00> <00> P<> 
T

p<>~<7E>

<00>P<>
4
T<03> <00> U<02> <00> U

U

U

P

<00>P#<23><01><00><00>P<><00> T<> <00> p<>|<7C>P<00>T<><00>p<>|<7C><><00><00>P<><50><00>T<02><00>t<><01><><00>P<><00>t<><01><02><00>t<><03><><00>P<><00>t<><03><00><00>t<><03><><00>P<><00><00>P#<23><03><00><00>P<>U<00><00>P<><00>P<>P<00><00>P03P3<u<><01><><00>u<><01>4<P<><00>P(0S<T<00><><EFBFBD>Tx<00><><EFBFBD><00><00><00><><EFBFBD><00><00><00><><EFBFBD><00><00><><EFBFBD><T1<><31><00>1<><Hu<><03>HKPKTu<><03><><00>u<><03>LTP<><00>PTx<00><><EFBFBD><00><00><00><><EFBFBD><00><00><><EFBFBD>Tl0<><30><00>0<>T`u<><03>`cPclu<><03><><00>u<><03>dlP<><00>P<00>P<00>V<>P<00>V<00>Q<00>T<>Q<00>T,P8@PX\P`<00>P<><00>P,P@XP,P,<00>T<><00>P<>T,P,<00>T<><00>P<>T <00>U<><00>P<>U<00><00>P<><00>Q<><00>P<><00>P<00><00>P8HPL<00>PP$P<PPP [<00>[ <00>[$0<><<00>0<><30>P 0<><00>0<> d0<><PPP<00>[ [<00>[ d[<<00>T T<00>T dT<T0<>T\P\t0<>t|P|<00>0<><30><00>P<><00>0<><30><00>P<><00>0<><30><00>P PDPDG}L<00>0<><30><00>P<><00>} 8P8;}@`P`c}<00><00>TLpTHPH\<00>P<>\lPlt<00>P<>t<00>P<><00><00>P<><50><00>P<><00><00>P<><50><00>P<><00><00>P<>HQHXTX[P[\<00>Q<>\sQst<00>Q<>t<00>Q<><00>T<><00>P<><00><00>Q<><51><00>Q<><00>T<><00>Q<><00>TXU\pUps<00>P#8t<00>U<><00>Ut<00>Q<><00>T<><00>P<><00><00>Q<><51><00>Q<><00>Tt<00>P<><00><00>P<><50><00>P<><00><00>P<>$ T PT <00> T<> <00> P<> <00>T$ T 0<>T <00> W<> <00> w<77><7F> <00> W<> <00> W<>  w<77> D Wl p Wp <00> wn<77><6E> <00> W<> <00> w~<7E><> <00>0<>
,
P,
$ T
D
QD
$ U
H
RH
$ V<00> <00> P<> 
<00>P<><00> <00> Q<> <00> q<01><> 
<00>Q<><02> <00> P<>
p|<7C>

px<70><00> <00> pq"<22><> <00> S<> <00> pq"#<01><> <00> p<00>Q"<22><> 
<00>P<>Q"<22><00> 
R<00> <00> P<> <00> s<>}<7D><> <00> <00>P<><00> <00> Q<> <00> R<> <00> <00>Q<>` <00> P<> <00> s<>}<7D><> <00> <00>P<>` | Q| <00> R<> <00> <00>Q<>0 P PP S s<>}<7D>S ` <00>P<>0 L QL S RS ` <00>Q<> P # s<>}<7D># 0 <00>P<>  Q # R# 0 <00>Q<>,HPH V,XQX W,hRh<00>X<><00>R<> X,TST<00>T<><00><00>S<><53> Td<00>P<>,W<00><00>P<>P<00>,T<00><00>P<>\V\d<00>P<><HPTdP<00>(W(\wuw0.(<13><00><00>P<><00>T0P0<00>T<>P<00>T0Q0<00>V<>Q<00>V0R0<00>W<><00>R<><00>W 8P8<00>T8TPT T(P(/t<><02><00>P<00>P<Y<><00>P<><00>Y8PPPT<00>P<>8T<00> <00> P<> <00> <00>P<><00> P L<00>P<><00><00>Q<>`T`cPcd<00>Q<>dLT<00>LV<00>LV0PPP<00>W<00>\Vt<00>V<00><00><00><><EFBFBD><7F><00>R<><00><00><><EFBFBD><00><00><00><><EFBFBD><7F><00>R<><00><00><><EFBFBD>8 d Pd <00> U<> <00> <00>P<><50> <00> P<> <00> U<> <00> <00>P<>8 h <00>@h <00> <00><03>@:<3A><> <00> <00>@8 { <00>A{ <00> T<> <00> <00><03>A:<3A><> <00> <00>A| <00> P<> <00> P<00> <00> P<> 4 W4 8 <00>P<><00> <00> Q<> T  tt<74> 8 <00>Q<><00> <00> P<> <00> X<> <00> <00>P<><00> <00> Q<> <00> T<> <00> <00>Q<><00> <00> R<> <00> <00>R<><00> <00> S<> <00> Y<> <00> <00>S<> 8 P8 ` <00>P<> @ Q@ G <00>hG ` <00>Q<> , P, <00>
T 0 Q0 <00>
X ? R? <00>
U<00> <00> P0
8
P<00>
<00>
@<$<24>X2<1B><00><00>P<> <00>P<><00>P<00>U<><00><00>P<><00>Qg\g<00><00>Q<><00>Rg^g<00><00>R<>\pPp<00>V<><00><00>P<>\tQt<00>S<><00><00>Q<><00><00>P<><00>W<><00>P<00><00>T<><00>v<02>Q<>Q<>3<EFBFBD>%<25>%<08>` <0B><><EFBFBD><EFBFBD><EFBFBD> <20>%%<25>,<2C><00>Q"8&<26>QO&34$<24>Q<>3<EFBFBD>%<25>%<08>` <0B><><EFBFBD><EFBFBD><EFBFBD> <20>%%<25>,<2C><00>Q"8&<26>QO&33$<1C>3<EFBFBD>%<25>%<08>` <0B><><EFBFBD><EFBFBD><EFBFBD> <20>%%<25>,<2C><00>Q<>3<EFBFBD>%<25>%<08>` <0B><><EFBFBD><EFBFBD><EFBFBD> <20>%%<25>,<2C><00>Q"8&<26>QO&34$<24>Q<>3<EFBFBD>%<25>%<08>` <0B><><EFBFBD><EFBFBD><EFBFBD> <20>%%<25>,<2C><00>Q"8&<26>QO&33$<1C>Q"6&<26>Q<>Q<>3<EFBFBD>%<25>%<08>` <0B><><EFBFBD><EFBFBD><EFBFBD> <20>%%<25>,<2C><00>Q"8&<26>QO&34$<24>Q<>3<EFBFBD>%<25>%<08>` <0B><><EFBFBD><EFBFBD><EFBFBD> <20>%%<25>,<2C><00>Q"8&<26>QO&33$O&34$<24>Q<>Q<>3<EFBFBD>%<25>%<08>` <0B><><EFBFBD><EFBFBD><EFBFBD> <20>%%<25>,<2C><00>Q"8&<26>QO&34$<24>Q<>3<EFBFBD>%<25>%<08>` <0B><><EFBFBD><EFBFBD><EFBFBD> <20>%%<25>,<2C><00>Q"8&<26>QO&33$<1C>3<EFBFBD>%<25>%<08>` <0B><><EFBFBD><EFBFBD><EFBFBD> <20>%%<25>,<2C><00>Q<>3<EFBFBD>%<25>%<08>` <0B><><EFBFBD><EFBFBD><EFBFBD> <20>%%<25>,<2C><00>Q"8&<26>QO&34$<24>Q<>3<EFBFBD>%<25>%<08>` <0B><><EFBFBD><EFBFBD><EFBFBD> <20>%%<25>,<2C><00>Q"8&<26>QO&33$<1C>Q"6&<26>Q<>Q<>3<EFBFBD>%<25>%<08>` <0B><><EFBFBD><EFBFBD><EFBFBD> <20>%%<25>,<2C><00>Q"8&<26>QO&34$<24>Q<>3<EFBFBD>%<25>%<08>` <0B><><EFBFBD><EFBFBD><EFBFBD> <20>%%<25>,<2C><00>Q"8&<26>QO&33$O&31$<24><00>PXTX\<00>P<><00>QK^K\<00>Q<><00><00>P<><00><00>P<><00><00>Q<><00><00>h<EFBFBD><00><00>Q<><00>P<00>T<><00><00>P<><00>x<00>@x<00><00><03>@:<3A><00>|<00>A|<00><00><03>A:<3A><00><00>P<><00><00>P<><00><00>Q<><00><00>h<EFBFBD><00><00>Q<>x<00>P<><00><00>P<>x<00>Q<><00><00>h<EFBFBD><00><00>Q<>8TPTx<00>P<>8\Q\c<00>hcx<00>Q<><00><00>P<><00><00>P<><00><00>Q<><00><00>h<EFBFBD><00><00>Q<><00> <00> P<> V 0<00>P<><00> <00> Q<> <00>U<>0<00>Q<>P T 0P<00><00>P<> U0P0@T@TPT<00>T<><00><00>P<>8Q8@U@HQH<00>U<><00><00>Q<>P<00>T<><00>P<>T<00>P<<00>P<><PPPh<00>P<>hlPl<00><00>P<><00>(Q(<<00>Q<><TQT`}`h<00>hh<00>Q 0<00>P<> (Q(0<00>Q<><00><00>P<><00><00>P<><50><00>P<> <00>P<> P$<00>P<><00><00>Q<><00><00>Q<><51><00>Q<>} <00>h $Q<00><00><00>P<><00><00>Q<><00><00>Q<>$PPP<00><00>P<><50><00>P<><00><00>P<><50><00>P<><00><00>P<>$pQp<00><00>Q<><51><00>Q<><00>}<00><00><00>h<EFBFBD><00>Qhx<00>P<>hpQpx<00>Q<><00><00>P<>$<00>P<>$8P8P<00>P<>PTPTh<00>P<><00>Q$<00>Q<>$<Q<H}HP<00>hPhQ<00>P<>Q<00>Q<>h|P|<00><00>P<><50><00>P<><00><00>P<>h<00>Q<><00>R<><00><00>Q<><51><00>Qx<00>Q<><00>R<><00><00>Q<>p|P|<00><00>P<><00><00>P<><00><00>P<><50>P<00>P<><00><00>Q<><00>R<><00><00>Q<><51>Q<00><00>Q<><00>R<><00><00>Q<><00><00>P<><00><00>P<>P,<00>P<>,0P08<00>P<> Q #R#,<00>Q<>,8Q Q #R#,<00>Q<>P,<00>P<><00>
P  <00>P<>  P  <00>P<><00>
 Q  R  <00>Q<>  Q<00>
 Q  R  <00>Q<><00>
P  <00>P<>` t Pt <00> <00>P<><50> <00> P<> <00> <00>P<>` x Qx { R{ <00> <00>Q<><51> <00> Qp x Qx { R{ <00> <00>Q<>h t Pt <00> <00>P<><00> <00> P<> <00> <00>P<><50> <00> P<> <00> <00>P<><00> <00> Q<> <00> R<> <00> <00>Q<><51> <00> Q<00> <00> Q<> <00> R<> <00> <00>Q<><00> <00> P<> <00> <00>P<>8P8<00>s<01><><00><00>P<>P<00>P<>LdPd<00>T$\P\<00>V$<00>0<><30><00>PP|<00>Z<00><00>[<00><00>P<>LW<00><00>P<> Z P Z(<00>0<><30><00> <09><><EFBFBD>L <09><>4D0<>D<00>Y<>(y<79>(<00>Y<>Ly<79>DLWDT(th<74><68><00>th<74><68><00>T<><00>th<74>P$<00>P<>TJ`JP`JK<00>P<>TJpJQpJ<00>J<00>Q<><51>J<00>JQ<>JKVTJpJ
@<01>pJ<00>JT<>J<00>J
@<01><>J<00>JP<>JKTTJpJ<08><>pJ<00>JU<>JK<08><>K KP KKUTJpJx<>pJ<00>JP<>J<00>J}<00>JKx<>KKP<00>J<00>Jv<00>J<00>JvKKv $<24>'<27>R<>S<>'<27>T<>}<00>T<>X<><00><><EFBFBD>X<>x<>}<00><08><><1C>}<00><00><><1C>V<>W<> <20> <20>V<>W<>d<><00><>V<>W<>(<28><00><>V<>W<><00><1C>V<>W<>d<>X<>Td<54><00><>T<><54><00><>T<00><1C>Tt<><00><>Z<><5A>ȥZ<00><><00><>P<><50><00><>TX<54>d<>TȠؠ<00><00><01><><00><><00>uU<03><><00><><00><>U<00><><00><><00>&<26>&<1C>- @B<00>-<1B>&<26><><EFBFBD><00><>{<00>&<26>&<1C>- @B<00>-<1B>&<26><10>4<>P4<50>@<40>W<><57><00><>P<><50>ܢW<10>4<>P4<50>@<40>W<><57><00><>P<><50>ܢW<1C>4<>:<3A><><EFBFBD>ܢ:<3A><1C>(<28>S(<28>4<>
pp<"<22><><EFBFBD><00><>R<><52><00><>
pp<"<22><08><14>R<14> <20>
pp<"<22><><EFBFBD><00><>
pp<"<22><><EFBFBD><00><>
ww<"<22>ܢ<00><>
pp<"<22><><EFBFBD><00><>
yy<"<22><1C> <20>
pp<"<22> <20>'<27>
yy<"<22><1C>$<24>V$<24>4<>:<3A><><EFBFBD>ܢ:<3A>$<24>4<>V<><56>ܢV<00><>ܢ:<3A><00><>ܢV<<3C>?<3F>P\<5C>`<60><08><00>l<>x<>P<>Q<><00><><00><>P<><50><00><><00><>P<><50><1C>Y<00><><00><>P<><50><00><><00><>P<><50><1C>Y<00><><00><>:<3A>ܢ<1C>:<3A><00><><00><>R<><52><00><>
pp<"<22><08><14>R<14> <20>
pp<"<22>ܢ<00><>
pp<"<22><><EFBFBD><00><>
yy<"<22><1C> <20>
pp<"<22> <20>'<27>
yy<"<22><00><><00><>Q<00><><00><>:<3A>ܢ<1C>:<3A><00><><00><><00><>Q<><51><1C><00><>ܢ<1C>:<3A>ܢ<00><>Q<><51><1C><00><><00><><00><>P<00><><00><><03><><00><00><><00><>P<><50><00><>Y<00><> <20>P <20>,<2C>Y<1C> <20>P <20>\<5C>Y<00><> <20>P <20>,<2C>Y<1C> <20>P <20>\<5C>Y<08> <20>:<3A><1C>\<5C>:<3A><08><14>R<14> <20>
pp<"<22><1C> <20>
pp<"<22> <20>'<27>
yy<"<22><08><10>Q<10> <20>:<3A><1C>\<5C>:<3A><10> <20>Q<1C>'<27>Q'<27>\<5C><00><><1C>\<5C>:<3A><1C>'<27>Q'<27>\<5C><00><>(<28>+<2B>P,<2C><00><>TX<54>d<>T|<7C><00><>0<><30><EFBFBD><00><>SX<>l<><00>uU<00><><00><>:<3A><><EFBFBD>(<28>:<3A><00><><00><>T<00><><00><>:<3A><><EFBFBD>(<28>:<3A><00><><00><>T<><54>(<28>T<00><>(<28>:<3A><00><>(<28>T<04><07>Pd<>h<>Td<>h<>Qh<>o<>Qo<51>X<><00>@<40>d<EFBFBD><00><><00>@<40><><EFBFBD><00><><00>@<40><00><1C><00>@<40>h<>h<>Th<>h<> <01>d<>h<><00>H<EFBFBD> h<>h<>R h<>h<>R h<>h<>R h<>h<>R
h<>h<>Rt<><00><><00><><EFBFBD>x<>x<><00><><EFBFBD>x<><00><>Px<><00><><00><>x<>X<><00><><EFBFBD>d<EFBFBD><00><><00><><EFBFBD><7F><EFBFBD><00><><00><><EFBFBD>x<><00><><00><><EFBFBD>x<>X<><00><><EFBFBD>d<EFBFBD><00><><00><><EFBFBD><7F><EFBFBD><00><><00><><EFBFBD>x<><00><>
<00><>p4<1B>x<><00><>P<00><><00><><00><><EFBFBD><00><><00><>
<00><>p4<1B><00><><00><>P<00><><00><><00><><EFBFBD><00><><00><>
<00><>p4<1B><00><><00><>P<04><><00><><00><><EFBFBD><04><><00><><00><><EFBFBD><04><><00><><00><><EFBFBD><06><><00><><00>@<40><00><><00><>X<00><><00><>d<><00><00><>Ф:<3A>d<EFBFBD><00><>:<3A><00><><00><>X<00><>Ф:<3A>d<EFBFBD><00><>:<3A><00><>ФXd<58><00><>Xd<><00><>:<3A>d<><00><>XؤۤPܤX<>T<><54><00><>T,<2C><<3C>0<><<3C>P<>Sȥ<00><>:<3A><><EFBFBD><00><>:<3A>ȥХZХ<00><>:<3A><><EFBFBD><00><>:<3A>Х<00><>Z<><5A><00><>Z<00><><00><>:<3A><00><><00><>Z<00><><00><>PT<>l<>:<3A><><EFBFBD><00><>:<3A>T<>\<5C>T\<5C>l<>:<3A><><EFBFBD><00><>:<3A>\<5C>l<>T<><54><00><>T<00><><00><>:<3A><00><><00><>Tt<>w<>P<00><10><00><><EFBFBD><04><04><00><><EFBFBD><04><0F>P<04><0F><00><><04><1C><00><><EFBFBD><04><10><00><><EFBFBD><04><1C><00><><EFBFBD><04><0F>
<00><>p4<1B><04><0F>P <0C><10><00><><EFBFBD> <0C><0F>
<00><>p4<1B> <0C><0F>P <0C><10><00><><EFBFBD> <0C><0F>
<00><>p4<1B> <0C><0F>P<10><10><00><><EFBFBD><10><10><00><><EFBFBD><10><10><00><><EFBFBD><10><18>X<1C><<3C>P<<3C>d<>T<1C>?<3F>Q?<3F>d<>U8<>?<3F>Q?<3F>\<5C>U8<><<3C>P<<3C>\<5C>TH<>L<>PL<50>O<>QO<51>\<5C>V<00>g<00>gP<>g<00>g<00>P<>(h(h,h8h(h(h8h8h,h,h4h8h<00>L<00>L<00>L<00>L<00>L<00>LXhXhXhXh<00>L<00>L<00>L<00>L<00>L8M<M@MDM<00>M<00>M<00>M<00>L<00>LM M<00>L<00>L<00>L<00>L<00>LM M8M<M@MDM<00>M<00>M<00>M<00>L<00>L<00>L<00>L<00>LM M$M(M,M<00>L<00>L<00>L<00>L<00>LM M$M(M,M<00>L<00>L<00>L<00>L<00>LM M$M(M,M$M(M,M8M<M@MDM\MdMhMlMpM0M8M<M@MDMHMLMPMTM\MdMhMlMpM0M4MLMPMXM\MdMhMlMpM0M4MLMPMXM\MdMhMlMpMPMTMpMpM<00>M<00>M<00>M<00>M<00>M<00>M<00>M<00>M<00>M<00>M<00>M<00>M<00>M<00>M<00>M<00>M<00>M<00>M<00>M<00>M<00>M<00>M<00>M<00>M<00>M<00>M<00>M<00>MNNN(N<NLN<00>M<00>MNN NNNNN N(N(N(N(N(N4N8N<NLNLNXN\NdN<00>N<00>N<00>NLNLNXN\NdN|N<00>N<00>N<00>N<00>N<00>N<00>N<00>N<00>N<00>N<00>N<00>N<00>N<00>N<00>N<00>N<00>N<00>N<00>N<00>N<00>N<00>N<00>N<00>N<00>N4OHO<00>N<00>N<00>N<00>N<00>N<00>NOOOOO,O0O4Olhphthxh|h<00>hi i<00>h<00>h<00>h<00>h<00>h<00>hPOPOTOXO\OhOlO<00>O<00>OPPPP<00>Q<00>Q<00>Q<00>Q<00>Q<00>Q<00>Q<00>Q<00>Q<00>Q<00>S<00>S<00>S<00>STTTT(T0T<T<T<00>U<00>U<00>U<00>U<00>U<00>U<00>U<00>U<00>U<00>U<V<V<00>V<00>V<00>V<00>V<00>V<00>V<00>V<00>VWTOXO`OhOlO<00>O<00>O<00>O<00>V<00>VTOXOdOhOpOtO|O<00>O<00>O<00>O<00>O<00>O<00>O<00>O@TDT<00>O<00>O<00>O<00>O@TDT<00>O<00>O<00>O<00>O@TDT<00>O<00>O<00>O<00>O<00>O<00>O<00>O<00>O<00>O<00>OdV<00>VdVhVlVpVhVlVpV<00>VPPPHPPPPPPP<00>Q<00>Q<00>Q<00>Q<00>Q<00>Q<00>Q<00>Q<00>Q<00>Q<00>S<00>S<00>S<00>S<00>S0T<T<T@TxT<00>U<00>U<00>U<00>U<00>U<00>U<00>U<00>U<00>U<00>U<V<VdV<00>V<00>V<00>V<00>V<00>V<00>V<00>V<00>VPPPPPPpP<00>V<00>VPPPPPPhPxP<00>P<00>P<00>P|P<00>P<00>P<00>P<00>P<00>P<00>P<00>P<00>P<00>P<00>P<00>P<00>P<00>P<00>P<00>P<00>P<00>P<00>P<00>P<00>P<00>Q<00>Q<00>Q<00>Q<00>Q<00>Q<00>Q<00>Q<00>Q0T<T<00>V<00>V<00>PHQ<00>V<00>VQQ QHQ<00>Q<00>Q<00>Q<00>Q<T<T<00>Q<00>Q<00>Q<00>Q<00>Q<00>Q<T<T<T@T<00>Q<00>Q<T<TR<00>SLVdVxT<00>U<00>U<00>U<00>U<00>U<00>U<00>U<00>U<00>U<00>U<V<VLV<00>V<00>V<00>T<00>T<00>T<00>T<00>T<00>T<00>T<00>T<00>T<00>T<00>T<00>T<00>T<00>T<00>T<00>U<00>U<00>U<00>U<00>U<00>U<00>U<00>U<00>U0V<VUUUDU<00>U<00>U<00>U<00>U<V<V<00>U<00>U<00>U<00>U<00>U<00>U<V<V<VLV<00>U<00>U<V<V<00>U<00>UV0V<00>S<00>S<00>S<00>S<00>S<00>S<00>V<00>V<00>V<00>V<00>V<00>VTTTTT(T<00>V<00>V<00>V<00>V<00>VW<00>XTYP[<00>[<00>X<00>X<00>X<00>X<00>X<00>XYYYYhZlZtZxZ<00>Z<00>Z<00>Z<00>Z<00>Z<00>Z<00>YhZ<00>Z4[<00>Y<00>Y<00>Y<00>Y<00>YZZ$Z(Z0Z<00>Z [0[4[<00>Z [0[4[<00>Z<00>Z0[4[<00>W<00>W<00>W<00>W<00>W<00>W<00>W<00>W<00>W<00>W<00>W<00>W<00>W8X<00>[<00>[<00>[<00>[<00>[<00>[<00>[h]p]<00>^<00>^ _<00>[\\\\\\L\p]<00>]D^H^(\@\p]<00>]D^H^(\0\D^H^0\@\p]<00>]]H]<00>]<00>]^^$]<]<00>]<00>]^^$],]^^,]<]<00>]<00>]<00>^<00>^ _`_T`T```d`l`p`t`x`<00>`<00>`<00>`<00>`T`T```d`l`p`t`x`<00>`<00>`<00>`<00>`<00>`<00>`<00>`<00>`<00>`<00>`
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00


<\dh<00> <00><00><00><00>$DLPx<00><00><00><00><00><00><00>$(,<00>
  p | <00> <00> <00> <00> <00> <00> 008HLt|<00><00><00>\t<00><00><00><00><00><00>40<00>L8<D<00><00>(<00><00><00><00><00>L$<24>(<28>4<>8<>0<>4<>8<>@<40><00><>ȠȠ<00><>X<>d<><00><><00>0<>4<>8<>@<40>ȠȠȠؠ<00><><00><><00><><00><><00><><00><><00><><08> <0C><10><08> <0C><10>@<40><00><>ܢ<00><><00><1C>4<><00><>ܢ<00><><00><1C>$<24><00><><00>$<24>4<><00><>ܢH<>X<>\<5C>`<60>l<>|<7C><00><><00><>|<7C><00><><00><><00><>ܢ<1C><00><><00><>ܢ<1C><00><><00><>ܢ<1C>ԡ<00><><00><><00><><00><><00><><00><>,<2C><1C>\<5C><08> <20><1C>\<5C><10> <20><1C>\<5C>,<2C><00><>X<>d<>`<60>d<>h<>l<>|<7C><00><>У<08><00><>(<28><00><><00><><00><>(<28><00><><00><><00><>(<28><<3C>@<40>P<>\<5C>d<>h<>h<>h<><<3C>@<40>T<>\<5C>h<>h<>P<>T<>d<>h<>@<40>D<>\<5C>`<60>h<>l<><00><><00><><00><><00><><00><>ܤd<><00><><00><>Фd<><00><><00><>Фd<><00><>ܤP<><00><><00><><10><14><18><1C>,<2C>P<><00><><00><><00><><00><>ȥ<00><><00><><00><>Х<00><><00><><00><>D<>x<><00><><00><>T<>l<><00><><00><>\<5C>l<><00><><00><><00>J<00>J<00>J<00>J<00>J<00>J<00>J<00>JKK<00>JKKKKKKK K0K4KHKLK`K<00><><1C><00>g<00>g<1C>d<>TJKK`K8Db2<00>4<00>58<00>> <00>>
xH p<> x<> p<> <20><00><>h<>t<>x<><00><><00> <20><00><> !<00><>H`K K`K X|K H<00>> Hp<> [<00><>H<00>> Ht<> <00><00><>H<00>g X<00><>H<00>g X<00><>Hh X<00><>H<00>L <00><00>L( X<00>L X8<><00><00>L( H<00>L @<00>L4 X<00>L HXh X<00><>H<00>L X<00>M Xp<>H<00>M X@N HLN X<00>N H<00>N X8O Hlh X<00><>X<00><>HHO <00>HO<00> XHT HxT X<00>V H i X<00><>HW XX[ H<00>[ X_ H`_ X@` HT` X<00>` H<00>` X<00>a H<00>a X<00>a H<00>a X@b HPb X<00>b H<00>b X(c H8c X<00>c Hd X<00>g HxH <00>xH<00> XJ X <20>Xl<>Xx<> <00><00><>K X(<28>X<00><>M<00><>X<00><>\<00><> Xx<><00>x<>XЩ <00><>H<1C> X<00><>H<00><> Xp<> H<00><> X<00><>X<00><>HTJ X(<28><00>KL XPK Xp<>X<00><>M<00><>X<00> <00><>H<00>K !<00>K X<00>K H<00>K #<00>K XL X <20>HL 6L XlL L<00><>Xt<>\t<>H<00>L <00><00>L Xh<><00>h<>X<00><><00><00><>Hi <00>i X<00>l Hm <00>m<00> X<00>m H<00>m X<00>o H<00>o Xq Hq X<00>q H<00>q X<00>r H<00>r X8s HDs Xt X<04> <00><04> <00><14> <00>$<24> D<>  d<> %t<> 4<00><> X<00><> C<00><>H t R t<00> X<00>v H<00>v X@w HXw XHx HXx X$z H@z X<00>z H<00>z X|{ H<00>{ X<| HL| X } H } XL} HP} X|} H<00>} X<00>} H<00>} X<00>} H<00>} X, HD X<00><> X\<5C> i\<5C> xt<> <00><00><>" <00><00><># <00>`<60> <00>|<7C> <00><00><> <00><00><>" X <0C> <00><00><>H<00><> X<00><> H <0C> X<00><> Hԅ Xh<> Hx<> X <0C> H<1C> X<00><> H<00><> XP<> H`<60> X<00><> H<00><> XȈ HЈ X<00><> H<00> X,<2C> H0<> Xh<> Hp<> X<00><> H<00><> X<00><> H<00><> X<00><> H<00><> X<00><> H<00><> XP<> HT<> X<00><> H<00><> X<00><> H<00><> X<00> H <0C> X<00><> H<00><> X<10> H<14> XP<> HX<> X<00><> H<00><>
X<00>>
H<00>>
<00><00><><00>d<00> <00><00>*A[n<00><00><00><00><00>Ds<00> >Qi<00><1C>H" <00>lh<00>" <00><00>W<00> <00><00><> <00><00><00>{<00>  h <00><>o w <00> <00> <00> <00> <00><>8<00> `<60>0 <00> ܕh 
<00>g " 
<00><><00> :
<00>ad g
Add GPU Acceleration on the Raspberry Pi (#140) * Add native stuff * use runtimeloader * add more native methods * more stuff * Switch JNI methods to static * Remove non-java classes from the picam jni * Add gradle task for JNI generation * Migrate my previous GPU accel work * Initial work on defining JNI interface * Change libpicam to a symlink for now * Initial work on adding no-copy OMX GPU accel on the pi * Make DIRECT_OMX GPU accel mode not crash * Clean up OMX changes (still not getting valid data back) * Re-add GPU unit test * A couple debugging tweaks/notes * Add temporary special cases to get RGB out of ProcessingMode.NONE * Code clarity improvements; fix possible VBO bug * Get DIRECT_OMX working * Remove some debugging switches in GPUAccelerator * Pipe in VCSM stuff to read out pixels FAST * Apply Spotless * Revert versioningHelper changes * Add missing import * Convert to MMAL and move everything to native * Re-add shared object * Rework to use MMAL and do everything natively * Condense pipeline settings classes * Add OutputStreamPipeline * Apply spotless * Fix duplicate variable inits and add more video modes * Integrate color frames and latency measurements for GPU * Fix camera detection on pi and other platforms * Add proper color copy disabling and camera settings calls * Fix things that were broken by rebase * Fix spotless issues and remove uneeded prints * Remove libpicam symlink * Fix stream resolution limiting * Remove testing code in GPUAcceleratedHSVPipe * Make profiling options general to all computers * Make PicamJNI load from resources * run spotlessApply * Address review comments * Update Maven repo for JOGL * Fix release race condition * Only run GPU accel test on the pi * Lint fix and merge conflict accident fixes * Make Jackson ignore extra fields when unmarshalling HardwareConfig * Fix Mat releasing data race * Spotless apply * Remove broken header generation task * Fix shared library loading typo * Add a ZeroCopyPicam quirk to allow setting gain with the MMAL backend * Make sure that exposure/brightness/gain get set after res changes * Make rawInputMat properly local * Remove bogus set of shouldRun flag * Clean up small GPUHSVPipe print * Add in some things that missed the ZeroCopyPiCameraSource rename * Fix incorrect scoping introduced in past rebase * Don't filter out too-low resolutions * Only show latency when GPU accel is enabled * Don't free Mats in stream thread before we use them * Fix use-after-free and latency caluclation bugs on USB camera source * Update libpicam * Remove unwanted print * Add libpicam forceLoad in unit test * Fix streaming during camera calibration * Fix zerocopy Picam calculation * Use logger trace method instead of raw prints * Fix calibration and driver mode pipes with the Picam Co-authored-by: Matt <matthew.morley.ca@gmail.com> Co-authored-by: Banks Troutman <btrout.dhrs@gmail.com>
2020-12-08 02:34:21 -05:00
<00>
<00><><00>
<00>
<00>
<00>
<00>
(<28>0  : D T <00><>D p <00>`<00> <00> Pbt <00> <00>  ( 9 F TJ<00> K <00> <00> (<28><00> <00> <00>   L|<00> 5 G d v \<5C><00> <00> <00><><00> <00> <00><><00> g<00> <00> <00> 4~ '7K<00><>@ m<1C><00> <00>X<><00><00><00>q<00> <00><00><14>D <00>+<00>L 7Idz<00>\<5C><00> <00>P}0 <00> }0 <00><00>g " <00><> 8<> <00><><00> ?<00><>@ \t<00><00><00><00><00><00>a@ D<> ,X<>0 K[q<00><00>h<" <00><> <00>g" 'C<00>0 m<00><>p <00><00><1C>H" <00>M` 1@I`<60>Th<00><>, rd<> <00>P<><00><00><00><00>!L<>H.<Rx"<00>0<><00> <00><00>[<00> <00>0<>@ `_<00> ID<00> kXx<00> <00><00><00><00><00><00> <0C><00> 8ip<>8wԑT <00><00><00>p<>@ <00>@<40><00><00><>h<" :@zp ]kx<00><><00><00><00>ԅ<00> <00>5Ј0 ]o<00>Xh" <00> -bT`<00> <00>q<00> <00><00><00><00><><00><00><00><00>r<00> *<00>} =<00>bt u<00><00><><00><00><00><>0 <00><00>z@ <00>
)8c<00> ^<18>$ p<10><00><00>d<><00> <00><00><>| <00><00><00><>0<00><00>}@
(<28>$<00><> 2>K <0C><00> l~<00><00><><00><00><00>m <00><00><>0 <00><00>} >Xh" Ol<00>}0 <00><00>7F<00><>$[nXw <00><00><00>=Wfr<00><00><00>x<><00> <00>  ; Q j <00> <00> <00> lh<00>" <00> <00> <00> !<00><>H!3!a!s!LNp <00>!<00>o  <00>!<00>z<00> <00>! i" <00>!<00>! <00>! "" 5"C""]"<00>v` k"z"<00>"<00>"<00>"<00><>l <00>"<00>} <00>"<00>N<00>
#-#<00>}0 K#T#T<><00> q#<00>#/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/crti.o$acall_weak_fn$d/usr/lib/gcc/arm-linux-gnueabihf/8/../../../arm-linux-gnueabihf/crtn.o_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZ11enqueue_matEUlvE_EEEEED2Ev_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZ11enqueue_matEUlvE_EEEEED1Ev_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZ11enqueue_matEUlvE_EEEEED0Ev_ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZ11enqueue_matEUlvE_EEEEE6_M_runEv_GLOBAL__sub_I_PicamJNI.cpp_ZTSNSt6thread11_State_implINS_8_InvokerISt5tupleIJZ11enqueue_matEUlvE_EEEEEE_ZStL8__ioinit_ZTINSt6thread11_State_implINS_8_InvokerISt5tupleIJZ11enqueue_matEUlvE_EEEEEE_ZTVNSt6thread11_State_implINS_8_InvokerISt5tupleIJZ11enqueue_matEUlvE_EEEEEE_GLOBAL__sub_I_TesterMain.cppcrtstuff.cderegister_tm_clones__do_global_dtors_auxcompleted.10783__do_global_dtors_aux_fini_array_entryframe_dummy__frame_dummy_init_array_entryRaspiTex.cpreview_workerpreview_output_cb__func__.16049__func__.16030__func__.16037__func__.16070__func__.16077__func__.16085__func__.16096RaspiTexUtil.craspitexutil_gl_common__func__.18006__func__.17982__func__.17993__func__.17998__func__.18026__func__.18035__func__.18077__func__.18086RaspiCamControl.c__func__.12381__func__.12386RaspiHelpers.cThresholdingShader.cthreshold_shader_redrawthreshold_shader_initthreshold_shader_egl_config_attribs__func__.16687__func__.16710quad_varrayfb_widthfb_heightquad_vbothreshold_shader_oes_shader_aeabi_ldivmod.o_dvmd_lnx.o_udivmoddi4.o__FRAME_END____aeabi_ldivmod__udivmoddi4__dso_handle_fini__aeabi_idiv0_DYNAMIC__TMC_END____aeabi_ldiv0_GLOBAL_OFFSET_TABLE_hsv_uniforms_mutexJava_org_photonvision_raspi_PicamJNI_grabFramevcos_log_impl_ZNSo3putEc@@GLIBCXX_3.4mmal_buffer_header_releaseglDrawArrayssem_destroy@@GLIBC_2.4__exp2_finite@@GLIBC_2.15_Znwj@@GLIBCXX_3.4vc_dispmanx_display_openpthread_mutex_lock@@GLIBC_2.4pthread_mutex_init@@GLIBC_2.4glBindBuffer_ZTINSt6thread6_StateE@@GLIBCXX_3.4.22glFramebufferTexture2Draspitex_start__aeabi_atexit@@CXXABI_ARM_1.3.3_ZN2cv8fastFreeEPvgettimeofday@@GLIBC_2.4vc_gencmd_number_property_ZN2cv6StringC2EPKc_ZN2cv3MatD1Evmmal_component_createsetup_mmalraspicamcontrol_set_annotateglEnableVertexAttribArrayraspitexutil_gl_init_2_0_ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEED1Ev@@GLIBCXX_3.4.21_edataglClearglViewportstrtol@@GLIBC_2.4_ZSt9terminatev@@GLIBCXX_3.4free@@GLIBC_2.4color_matraspicamcontrol_set_ISOdefault_camera_control_callback_ZNSt6vectorIhSaIhEED2Evraspicamcontrol_set_awb_gainsJava_org_photonvision_raspi_PicamJNI_setGainmmal_port_parameter_set_int32current_fb_idxglGetShaderInfoLogeglCreateWindowSurfacevcsm_unlock_ptr_ZNSo9_M_insertIxEERSoT_@@GLIBCXX_3.4.9hsv_thresholdsvcsm_init_ZNSt13runtime_errorC1EPKc@@GLIBCXX_3.4.21vcos_initvcsm_lock_cacheraspicamcontrol_set_imageFXJava_org_photonvision_raspi_PicamJNI_setExposureJava_org_photonvision_raspi_PicamJNI_setRotation__cxa_begin_catch@@CXXABI_1.3glDeleteProgram_ZNSt6thread6_StateD2Ev@@GLIBCXX_3.4.22mmal_port_enableglReadPixelsmain_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_@@GLIBCXX_3.4__cxa_allocate_exception@@CXXABI_1.3raspicamcontrol_check_configurationglGenBuffersvcos_pthreads_map_errnoglGetUniformLocationraspitexutil_do_update_textureglBindFramebuffervcos_pthreads_logging_assertmmal_log_categorycopy_colormmal_port_parameter_get__end__mmal_port_format_commitraspicamcontrol_set_flipsglCheckFramebufferStatuseglCreateContextraspitexutil_capture_bgraputs@@GLIBC_2.4glActiveTextureglGetProgramInfoLograspicamcontrol_set_metering_moderaspicamcontrol_set_contrastcurrent_fpsmmal_component_disableraspitex_set_defaultsglGetProgramivraspicamcontrol_set_DRC_ZSt20__throw_system_errori@@GLIBCXX_3.4.11nanosleep@@GLIBC_2.4enqueue_matmemset@@GLIBC_2.4_ZNSo5flushEv@@GLIBCXX_3.4_ZdlPvj@@CXXABI_1.3.9__cxa_free_exception@@CXXABI_1.3mmal_